一、今日学习内容
1、JAVA运算符
(1)算术运算符:加号(+)、减号(-)、乘号(*)、除号(/)、除余(%)、自增(++a,a++)
1 public class VTest{ 2 public static void main(String[] args){ 3 int a=0; 4 a++; 5 System.out.println("a++="+a++); 6 System.out.println("a="+a); 7 } 8 }
输出结果:a++=1
a=2
(2) 赋值运算符:赋值于(=)、扩展赋值运算符
(3)关系运算符:> 、>=、<、<=、==、!=
注:Java中,任何数据类型的数据(包括基本类型和组合类型)都可以通过一=或!=来比较是否相等(这与C、C++不同).
关系运算的结果返回true或false, 而不是C. C++中的1或0.
(4)逻辑运算符:短路逻辑:与(&&)、或(||) 非短路逻辑:与(&)、或(|) 取反(!)
总结:
(1)逻辑与(&&)必须两边表达式同时满足,才为真,如果左边表达式为假,则右边表达式不再执行,即为短路运算符。
(2)逻辑或(||)两边表达式只要一边为true,结果为true,如果左边表达式为真,则右边表达式不再执行,即为短路运算符。
(3)逻辑与(&)必须两边表达式同时满足,才为真,如果左边表达式为假,则右边表达式还要执行,即为非短路运算符。
(4)逻辑或(|) 两边表达式只要一边为true, 结果为true, 如果左边表达式为真,则右边表达式还要执行,即为非短路运算符。
(5) &&和||的运算方式的效率比&和|的效率高。
(6) &和除了能表达逻辑运算符,还能表示位运算符。
(7)逻辑运算符通常和if表达式结合使用。
(5)位运算符
(6)其他运算符:JAVA实例运算符:instanceof JAVA内存分配运算符:new 三目运算符:布尔表达式?值1:值2
(7)运算符优先级比较:
2、程序流程控制
(1)顺序结构:自上而下,依次执行
(2)选择结构:if语句: if(布尔表达式){ }
if……elseif语句:
if(布尔表达式1){
//执行语句
}else if(布尔表达式2){
//执行语句
}else if(布尔表达式n){
//表达式
}else{
//表达式语句}
其中,elseif和else可以根据相应业务省略。
1 public class IfElseDemo{ 2 public static void main(String[] args) { 3 int age=20; 4 if(age<16 && age>0) { 5 System. out .println("未成年!"); 6 }else if(age>=16 && age<30) { 7 System. out. print1n("青年"); 8 }else if(age>=30 && age<40){ 9 System.out.println("中年"); 10 }else if(age>=40) { 11 System. out.println("老年"); 12 }else{ 13 System. out.print1n ("您是外星人吗?不符合逻辑”); 14 } 15 } 16 }
输出结果:青年
switch语句
(3)循环结构:while循环、do…while循环、for循环
(4)break和continue语句
3、数组
(1)一维数组:一维数组的定义有两种方式:一种是先声明,然后初始化;另-种是直接初始化,具体表现如下。
(1)先声明,然后初始化。
类型[]名称;
名称= new类型[]{元素-,元素二...元素n};
(2)声明,直接初始化。
类型[]名称={元素一,元素二...元素n);
(3)声明,初始化的第二种语法。
类型[]名称=Dew类型[](元素一,元素二...元素n};
(4)声明给出大小。
类型[]名称=new类型[数字]
(2) 数组的打印:使用Array
1 import java.util.Arrays; 2 public class A{ 3 public static void main(String[] args){ 4 int[] a={1,2,3,4,5}; 5 System.out.println(Arrays.toString(a)); 6 } 7 }
(3) 二维数组
1 public class ArrayTwoDemo{ 2 public static void main(String[] args){ 3 int[][] a={{1,2,3}, {4,5,6}}; 4 for(int i=0;i<a,length;i++){ 5 for(int j=0;j<a[1] .1ength;j++){ 6 System. out.print (a[i][j]+" "); 7 } 8 } 9 } 10 }
(4)多维数组
二、遇到的问题
今天小学期的链表还没有弄明白,还没有理解
三、明日计划
明天继续学习JAVA的第三章内容 :值得比较,数字排序,阅读《大道至简》