java定位:1995年推出,专门给程序员设计一些大型的分布式复杂应用而生。

python定位:1991年推出,面向系统管理、科研教育非程序员群体使用的较多。

 

java与c比较的优点,c在写代码过程中中需要进行内存管理(构造函数,析构函数)以及指针。

 

jdk Java开发工具包

jre Java程序运行环境

jvm Java虚拟机,跨平台使用

 

Java发展

基于Java开发了巨多的平台,系统,工具

构建工具:Ant, Maven, Jekins

应用服务器:Tomcat, Jetty, Jboss, Websphere, weblogic

Web开发:Struts, Spring,Hibernate,myBatis

开发工具:Eclipse, Netbean, intellij idea, Jbuilder

 

2006:Hadoop (大数据领域)

2008:Android (手机端)

 

卸载JDK

  1. 删除java的安装目录
  2. 删除JAVA_HOME
  3. 删除path下关于Java的目录
  4. java -version

 

安装JDK

  1. 百度搜索JDK8,下载电脑对应的版本
  2. 双击安装JDK
  3. 记住安装的路径
  4. 配置环境变量

环境变量-》JAVA_HOME  (jdk的安装路径)

环境变量-》Path (添加%JAVA_HOME%\bin以及%JAVA_HOME%\jre\bin,添加jdk及jre执行路径)

 

编译、执行Java文件

javac Hello.java编译生成hello.class文件

java Hello 执行class文件,不需要后缀.class

 

public class Hello{

public static void main(){

System.out.print(“hello,world!”);

}

 

}

可能遇到的问题:

  1. Java大小写敏感
  2. 尽量使用英文
  3. java文件名和类名必须保证一致
  4. 符号使用了中文

 

Java程序运行机制

包含两种机制先编译再解释

编译型   代码编译后才能执行

解释型  边解释边执行

 

Java的语法

注释

Java中的注释有三种:

单行注释: //

多行注释: /*  */

文档注释:

/**

 * @Description HelloWorld

 */

 

 

 

标识符  (变量名,方法名,类名,实例名)

 

关键字表

 

 

v 所有的标识符都应该以字母,美元符($),或者下划线开始

v 首字符之后可以是字母,美元符,下划线或者数字的任何字符组合

v 不能使用关键字作为变量名或者方法名

v 标识符是大小写敏感的

 

数据类型 

强类型语言

要求变量的使用要严格符合规定,所有变量必须先定义后才能使用

弱类型语言

 

 

 

 

 

 

类型转换

由于Java是强类型语音,所以要进行有些运算的时候,需要用到类型转换

低---------------------------->高

byte,short,char->int->long->float->double

混合运算时,低优先级类型会被同化为高优先级类型

public class Demo02{

public static void main(){;

long a=123123123123123L;

int b=123;

short c=10;

byte d=8;

 

System.out.println(a+b+c+d); //long

System.out.println(b+c+d); //int

System.out.println(c+d); //int

}

}

 

 

变量

v 可以变化的值

v Java是一种强类型语言,每个变量都必须声明其类型

v Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

v 强类型就是数据类型,和类等,事先已声明,在编程时,可清晰用见此类型的定义,给编程带来很大的方便。

 

变量作用域

类变量

实例变量

局部变量

public class Variable{

static int allClicks=0; //类变量,添加了static关键字,从属于这个类,存在于类中,方法外

static final double PI = 3.14; //类常量,类型前都称为修饰符,如static final

String str=”hello world”; //实例变量,从属于对象,存在于类中,方法外

 

public void method(){

int i=0; //局部变量

 

System.out.println(i);

}

}

 

常量

初始化后不能再改变值,不会变动的值,常量名一般用大写字符。

final 常量名=值

final  double PI=3.14;

//修饰符final,不存在先后顺序,如上程序

 

变量的命名规范

v 所有变量、方法、类名:见名知意

v 类成员变量:首字母小写和驼峰原则:monthSalary

v 局部变量:首字母小写和驼峰原则

v 常量:大写字母和下划线:MAX_VALUE

v 类名:首字母大写和驼峰原则:Man,GoodMan

v 方法名:首字母小写和驼峰原则:run(),runRun()

 

运算符

算术运算符 + - * / % ++ --

赋值运算符 =

关系运算符 > < <= >= == !=

逻辑运算符 && || ! &&如果前置为false,后面的运算不用执行,直接返回false

&&和||都有短路功能,&&是遇到false短路,||是遇到true短路

位运算符 & | ^ ~ >> <<    与二进制有关, << 相当于 *2   >>  相当于 /2

条件运算符 ? : String type=40 < 60 ? “不及格”:”及格”

 

包机制

包语句语法格式:

package pkg1[.pkg2[.pkg3...]];

导入包

import package1[.package2...].(classname|*);

 

Java流程控制

Scanner对象

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

 

//创建一个扫描器对象,用于接受键盘数据

Scanner scanner = new Scanner(System.in);

 

System.out.println(“请输入数据:”);

 

//判断用户有没有输入字符串,写代码中也不是必须

if(scanner.hasNext()){

//使用next方式接受

String str = scanner.next();

System.out.println("输入的内容为:"+ str);

}

 

//凡事属于IO流的类如果不关闭会一直占用资源,养成好习惯完成关闭

scanner.close();

next():

v 1.一定要读取到有效字符后才可以结束输入

v 2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉

v 3.输入有效字符后才将后面输入的空白作为分隔符或者结束符

v 3.next()不能得到带有空格的字符串

 

nextLine():

v 以Enter为结束符,nextLine()方法返回的是输入回车之前的所有字符。

v 可以获得空白

 

switch多选择结构

public class SwitchDemo01 {

public static void main(String[] args) {

//case穿透  //switch匹配一个具体的值

char grade = 'D';

switch(grade) {

case 'A':

System.out.println("优秀");

break;

case 'B':

System.out.println("良好");

break;

case 'C':

System.out.println("及格");

break;

case 'D':

System.out.println("再接再厉");

break;

default:

System.out.println("挂科");

}

}

}

 

do...while循环

与while的区别:

v while先判断后执行。do while是先执行后判断。

v do while总是保证循环体会被至少执行一次。

do{

//代码

}while();

 

for循环

for(初始化;布尔表达式;更新){

//代码语句

}

public class ForDemo01 {

public static void main(String[] args) {

// for循环输出1-1000之间能被5整除的数,并且每行输出3个

for(int i=0;i<=1000;i++) {

if(i%5==0) {

System.out.print(i+"\t");

}

if(i%(5*3)==0) {

System.out.println();

}

}

//println 输出完会换行

//print   输出完不会换行

}

}

 

public class ForDemo02 {

public static void main(String[] args) {

// 打印99乘法表

for(int i=1;i<=9;i++) {

for(int j=1;j<=i;j++) {

System.out.print(i+"*"+j+"="+(i*j)+"\t");

}

System.out.println();

}

}

}

 

break和continue

v break在任何循环语句的主题不符,用于强行退出循环,不执行循环中剩余的语句。

v continue用在循环语句体重,用于终止某次循环过程,跳过循环体中尚未执行的语句,直接跳到下次循环开始的地方

 

 

更多文章请关注《万象专栏》