java变量的分类
- 局部变量:方法或语句块内部执行的变量 (main方法)
- 成员变量:方法外部,类的内部定义的变量
数据类型
(一)基础数据类型
-
布尔型:true、false
-
字符型 :char (每个字符占两个字节,一个字节是八位)
-
整型 :byte(一个字符占一个字节),short(一个字符两个字 节),int(四个字节),long(八个字节)。Java语言的整型常量默认为int类型, 声明long型常量可在后面加l或L。
问题 :byte类型占一个字节,一个字节是八位,为什么它的范围是-128(2的七次方127而不是-256(2的八次方))~255。
-
浮点型:float(四个字节),double(八个字节)。浮点型常量默认为double型,声明float型常量时需在数字后面加f或F。
(二)数据类型的转换
- boolean类型不可以转化成其他数据类型
- 容量小的数据类型向容量大的数据类型转换如
Byte short char->int->long->float->double , Byte short char不会互相转换,转换时直接转化为int类型 - 容量小的类型向容量大的类型转化时要加强制转换符,但是会有精度降低或溢出的风险。但int类型可以转化为byte short char类型,前提是转化以后不能溢出。
- 多种类型的数据混合计算时,系统会先转化为容量最大的数据类型然后计算
- 看一个字符能否合法转化为另一种类型 是看字符本身的所属类型,而不是字符赋给某类型以后的所属类型。
程序的执行过程
- 把程序从硬盘中load到内存中
- 操作系统找到main方法开始执行,同时操作系统将代码的各个部分放置内存中。(内存中的heap区放new出来的东西,stack区放局部变量,data segment放静态变量和字符串常量,code segment放代码)
- 代码格式
大括号对齐
类之间空行
等号两遍空格
遇到"{“就"tab”(缩进)
"{"前面加空格
运算符
- i2=10;
i=i2++;先将i2取出然后i2再自增。这时i=10,i2=11
i=++i2;先将i2自增,然后赋值给i。这时i=i2=11 - 当进行打印时,无论任何类型,都先转化为字符串然后打印。
println:打印并换行。Print::只打印不换行。 - 三目运算符 x ? y : z 意思是x为boolean类型,若x为true则整个三目运算符结果为y。否则,整个运算符结果为z。
for循环
正确写法: for(i=1;i<=10;i++)
错误写法:for(i=1;i<10;i++);
此处不能有“;”.加了分号相当于
for(i=1;i<10;i++){;}
因为执行的是空语句,会报错。
while & do while
while逻辑表达式的值。若=true,则执行后面的语句,再次判断条件并反复执行。直到条件不成立为止。(先判断后执行)。
Do while 先执行语句再判断表达式的值,若值为true则接着执行下面的表达式。(先执行再判断)。格式:“do{语句;。。。;}while;“。
While:
int i = 0;
while(i<10){
System.out.println("i="+i);
i++;}
先打印再加结果是i=0………9.
int i = 0;
while(i<10){
i++;
System.out.println("i="+i);}
先加再打印 输出结果是i=1………10
break&continue
Break用于终止某个语句块的执行,用在循环体中可以强行退出循环
Continue用在循环体语句中用来终止当前循环过程,开始下一次循环
switch语句
Swith(){
Case xx:
……………
Break;
Case xx:
……………
Break;
Default:
…………….}
注意,break不能省,小心语句穿透。多个break可以合并在一起。Default语句只能探测int型的值。
方法
- Java的方法类似于其他语言的函数,是一段完成特定功能的代码片段。声明格式:
[修饰符1 修饰符2.] 返回值类型 方法名 (形式参数列表){java语句;。。。。。} - 形式参数:在方法被调用时用来接收外部输入的数据。
- 返回值类型 事先约定的返回值的数据类型,如无返回值必须给出返回值类型void。
- java语言中使用下述形式调用方法;对象名.方法名(实参列表)。