Java if、switch语句,break,case,类型转换、常量、赋值比较、标识符(2)
if语句:
1 /* 2 if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2; 3 三元运算符: 4 好处:可以简化if else代码。 5 弊端:因为是一个运算符,所以运算完必须要有一个结果。 6 */
1 class IfDemo 2 { 3 public static void main(String[] args) 4 { 5 int x = 1; 6 7 if(x>1) 8 { 9 System.out.println("yes"); 10 } 11 else 12 { 13 System.out.println("a"); 14 } 15 int a = 9,b; 16 b = (a>1)?100:200; 17 18 if(a>1) 19 b = 100; 20 else 21 b = 200; 22 23 24 int n = 3; 25 26 if(n>1) 27 System.out.println("a"); 28 else if(n>2) 29 System.out.println("b"); 30 else if(n>3) 31 System.out.println("c"); 32 else 33 System.out.println("d"); 34 35 /* 36 if(n>1) 37 System.out.println("a"); 38 if(n>2) 39 System.out.println("b"); 40 if(n>3) 41 System.out.println("c"); 42 else 43 System.out.println("d"); 44 */ 45 System.out.println("over"); 46 } 47 }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 class IfTest 2 { 3 public static void main(String[] args) 4 { 5 //需求1:根据用户定义的数值不同。打印对应的星期英文。 6 /* 7 int num = 1; 8 9 if(num==1) 10 System.out.println("monday"); 11 else if(num==2) 12 System.out.println("tsd"); 13 else 14 System.out.println("nono"); 15 */ 16 //需求2:根据用于指定月份,打印该月份所属的季节。 17 //3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 18 19 int x = 4; 20 21 if(x==3 || x==4 || x==5) 22 System.out.println(x+"春季"); 23 else if(x==6 || x==7 || x==8) 24 System.out.println(x+"夏季"); 25 else if(x==9 || x==10 || x==11) 26 System.out.println(x+"秋季"); 27 else if(x==12 || x==1 || x==2) 28 System.out.println(x+"冬季"); 29 else 30 System.out.println(x+"月份不存在"); 31 32 if(x>12 || x<1) 33 System.out.println(x+"月份不存在"); 34 else if(x>=3 && x<=5) 35 System.out.println(x+"春季"); 36 else if(x>=6 && x<=8) 37 System.out.println(x+"夏季"); 38 else if(x>=9 && x<=11) 39 System.out.println(x+"秋季"); 40 else 41 System.out.println(x+"冬季"); 42 43 } 44 }
switch语句:
class SwitchDemo { public static void main(String[] args) { int x = 3; /* switch(x)//byte short int char { default: System.out.println("d"); //break; case 4: System.out.println("a"); //break; case 6: System.out.println("b"); break; case 2: System.out.println("c"); break; } */ /* int a=4,b =2; char ch = '+'; switch(ch) { case '-': System.out.println(a-b); break; case '+': System.out.println(a+b); break; case '*': System.out.println(a*b); break; case '/': System.out.println(a/b); break; default: System.out.println("feifa"); } */ System.out.println("Hello World!"); } }
class SwitchTest { public static void main(String[] args) { //需求2:根据用于指定月份,打印该月份所属的季节。 //3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 int x = 4; switch(x) { case 3: case 4: case 5: System.out.println(x+"春季"); break; case 6: case 7: case 8: System.out.println(x+"夏季"); break; case 9: case 10: case 11: System.out.println(x+"秋季"); break; case 12: case 1: case 2: System.out.println(x+"冬季"); break; default: System.out.println("nono"); } /* if和switch语句很像。 具体什么场景下,应用哪个语句呢? 如果判断的具体数值不多,而是符合byte short int char这四种类型。 虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。 */ System.out.println("Hello World!"); } }
class VarDemo { public static void main(String[] args) { /* //定义变量的格式; //数据类型 变量名 = 初始化值; // 定义一个int类型变量.取值为4; int x = 4; System.out.println(x); x = 10; System.out.println(x); //演示其他数据类型。 byte b = 2;//-128~127; //byte b1 = 128; short s = 30000; long l = 4l; float f = 2.3f; double d = 34.56; char ch = '4'; char ch1 = 'a'; char ch2 = '+'; char ch3 = ' '; boolean bo = true; boolean bo1 = false; int a = 5; a = a + 6; */ /* 什么时候定义变量? 当数据不确定的时候。需要对数据进行存储时。 就定义一个变量来完成存储动作。 */ //类型的转换。 //byte b = 3; //b = b + 2; //System.out.println(b); //System.out.println((char)5); byte b = 3; b = 3 + 4; //b = b + 4; System.out.println(b); } }
操作符:
class OperateDemo { public static void main(String[] args) { //int x = 4270; //x = x /1000 * 1000; //System.out.println(-1%5); int a = 3,b; //a++; //--> a = a+ 1; b = ++a; System.out.println("a="+a); //字符串数据和任何数据使用+都是相连接,最终都会变成字符串。 //System.out.println("5+5"+(5+5));//"5+5=55" /* 转义字符:通过\ 来转变后面字母或者符号的含义。 \n:换行。 \b:退格。相当于backspace。 \r:按下回车键。window系统,回车符是由两个字符来表示\r\n. \t:制表符。相当于tab键。 */ System.out.println("hello \t world"); //System.out.println("hello java"); System.out.println("\\hello\\"); char ch = '\''; char c = 'a'; } }
class OperateDemo1 { public static void main(String[] args) { int x = 3; //+= -= *= /= %= x+=4;//x = x + 4; short s = 4; //s = s + 5; s+=5; int a,b,c; a = b = c = 5; System.out.println(3=4); } }
class OperateDemo2 { public static void main(String[] args) { int x = 7; //逻辑运算符用于连接boolean类型的表达式。 //x>3 & x<6 = true & true = true; /* true & true = true; true & false = false; false & true = false; false & false = false; & : 只要两边的boolean表达式结果,有一个为false。那么结果就是false。 只有两边都为true,结果为true。 */ /* true | true = true; true | false = true; false | true = true; false | false = false; | : 两边只要有一个为true,结果为true。 只有两边都有false,结果为false。 */ /* ^ : 异或;就是和|有点不一样。当true ^ true = false; true ^ true = false; true ^ false = true; false ^ true = true; false ^ false = false; ^ : 两边相同结果是false。 两边不同结果是true。 */ /* !!true */ int a = 2; //a>3 && a<6; /* &和&&的特点: &:无论左边是true是false。右边都运算。 &&:当左边为false时,右边不运算。 |:两边都参与运算。 ||:当左边为true。右边不运算。 */ System.out.println(false ^ false); System.out.println(~6); int n = 3,m = 8; System.out.println("n="+n+",m="+m); //1,通过第三方变量。 /*int temp; temp = n; n = m; m = temp; */ //2不用第三方变量。 //11 = 3 + 8; //3 = 11 - 8; //8 = 11 - 3; /* n = n + m;//如果n和m的值非常大,容易超出int范围。 m = n - m; n = n - m; */ n = n ^ m; m = n ^ m;//(n^m)^m; n = n ^ m;//n ^ (n ^ m) System.out.println("n="+n+",m="+m); } }
class OperateDemo3 { public static void main(String[] args) { //System.out.println(Integer.toBinaryString(60)); //System.out.println(Integer.toHexString(60)); int num = 26; //获取60的最低4位,通过&15; int n1 = num & 15; System.out.println(n1>9?(char)(n1-10+'A'):n1); //要获取下一组四位,将60右移4位。 int temp = num >>> 4; //对temp的值进行最低四位的获取。 int n2 = temp & 15; System.out.println(n2>9?(char)(n2-10+'A'):n2); /* 0-9 'A' 'B' 'C' 'D' 'E' 'F' 65 66 67 10 11 12 13 14 15 12 - 10 = 2 + 'A' = (char)67; */ int x = 1,y; y = (x>1)?'a':200; System.out.println("y="+y); } }