package _01_Opreator; public class Operator_01 { public static void main(String[] args) { byte i = 2; //自动强制类型转换 i+=3; //这种需要强制转换,i+3结果为int i = (byte) (i + 3); //i++等价于i = i + 1; i++; // * 左结合:同等优先级 先算左边 // * 右结合:同等优先级 先算右边 // * +=这些是右结合 int a = 10 ; a*= a+=1;//左结合为101,右结合110 //初始化还是从左到右,不过先执行右边的 // 10*=10+=1---->10*=11----->110 System.out.println(a); } }* 字符串连接符
package _01_Opreator; public class Operator_02 { public static void main(String[] args) { String string ="大大大大"; // * 用+把多个数据拼接成一个字符串 int a = 1; int b = 2; //如果两端为数字则为加和运算 System.out.println(a+b); //如果两端有一个字符串,则为字符串拼接符,用来把他们连接起来 System.out.println("a+b"+a+b); //如果还要运算则加括号 System.out.println("a+b="+(a+b)); } }* 三目运算符
package _01_Opreator; public class Operator_03 { public static void main(String[] args){ int i = 2 < 2 ? 1 : 0; //为false,i==0; System.out.println(i); } }* 流程控制 * 循序结构
package _02_Flow; public class Flow_01 { public static void main (String[] args){ int a = 10 ; int b = 11 ; //单分支,if(布尔表达式){为真时执行的代码} if (a>b){ a = b; } //双分支,if(布尔表达式){为真时执行}else{为假时执行} if (a>b){ a = b; }else{ b = a; } //多分支,if(){}else if(){}…… //如果以else{}结尾,则必有一条语句被执行 //如果以else if (){}结尾,则不一定执行 if (a>b){ a = b; }else if(ab) a = b; } }IF
package _02_Flow; import java.util.Scanner; public class if_01 { public static void main(String[] args) { @SuppressWarnings("resource") Scanner scanner = new Scanner (System.in); System.out.println("请输入年龄,并按回车确认:"); int age = scanner.nextInt(); if (age<=0|age>100){ System.out.println("输入错误"); }else if (age<=5){ System.out.println("此人处于幼儿时期"); }else if (age<=18){ System.out.println("此人处于少年时期"); }else if (age<=35){ System.out.println("此人处于青年时期"); }else if (age<=55){ System.out.println("此人处于中年时期"); }else { System.out.println("此人处于老年时期"); } } }SWITCH
package _03_Switch; public class Switch_01 { public static void main(String[] args) { //if可以判断相等和范围,Switch只能判断相等 char c = 'A'; switch(c){ case 'A': System.out.println("A"); break; case 'b': System.out.println("b"); break; default: System.out.println("c"); break; } //不加break,case穿透,无法终止 char q = 'A'; switch(q){ case 'A': System.out.println("A"); case 'b': System.out.println("b"); default: System.out.println("c"); } } } case穿透
package _03_Switch; public class Switch_02 { public static void main(String[] args) { char c = 'A'; //利用case穿透来达到多重判断的效果 switch(c){ case 'A': case 'b': System.out.println("b"); break; default: System.out.println("c"); break; } } }例题
package _03_Switch; import java.util.Scanner; public class Switch_03 { public static void main (String[] args){ @SuppressWarnings("resource") Scanner scanner = new Scanner (System.in); System.out.println("请输入成绩,并按回车确认:"); double score = scanner.nextDouble(); int score1 =(int) score / 10; switch (score1){ case 10:case 9: System.out.println("成绩优秀"); break; case 8:case 7: System.out.println("成绩良好"); break; case 6: System.out.println("成绩及格"); break; case 0 :case 1 :case 2 :case 3 :case 4 :case 5 : System.out.println("成绩不及格"); break; default: System.out.println("输入无效"); break; } } }for
package _04_For; public class For_01 { public static void main(String[] args) { //循环内的i只能在循环内使用 for (int i = 0;i <6; i++){ System.out.println(i); } //终止条件为true,为死循环 // for (int i = 0;ture; i++){ // System.out.println(i); // } //如要在循坏外使用则需要在循坏外定义 int i =1; for (i = 0;i <6; i++){ System.out.println(i); } System.out.println(i); } }
package _04_For; public class For_02 { public static void main(String[] args) { int d = 0; for(int a =0; a < 5; a++){ for(int x =0; x< 5; x++){ d++; //println没有ln就不换行 System.out.print(d+" "); }System.out.println(); } } }
package _04_For; public class For_03 { public static void main(String[] args) { for(int i =1; i < 10; i++){ //列小于等于行,造成左下三角 for(int j =1; j<= i; j++){ System.out.print(j+"x"+i+"="+(i*j) + " "); }System.out.println(); } } }
package _04_For; public class For_04 { public static void main(String[] args) { //偶数奇数和i+=2;或取余筛选 int sum = 0; for(int x =0; x<=100; x++){ sum+=x; } System.out.println(sum); } }
package _04_For; public class For_05 { public static void main(String[] args) { 第一次循环,第一行 // //第二次循环,第二行 // for(int i =10; i >0; i--){ // //需要循环输出10个数 // //需要循环输出9个数 // for(int j =1; j <= i; j++){ // System.out.print(0+ " "); // }System.out.println(); // }//左上三角构建完成 //第一次循环,第一行 //第二次循环,第二行 for(int i =10; i >0; i--){ //需要循环输出0个空格,10个数, //需要循环输出1个空格,9个数 for(int k=0 ;k<10-i;k++){ System.out.print(" "+ " "); }//这种每行都输出了10个空格,不同步 //如果反向倒叙循环一个左下三角是否可行 //第一行输出0个空格 // 能否使空格数随行数增加 // System.out.print(" "+ " ");//此处加空格使所有行均加空格,不可行 for(int j =1; j <= i; j++){ System.out.print( 0+" "); }System.out.println(); } // //并行循环是否一起输出 否 // for(int i =1; i < 10; i++){ // //列小于等于行,造成左下三角 // for(int j =1; j<= i; j++){ // System.out.print(j+"x"+i+"="+(i*j) + " "); // }System.out.println(); // } }}
package _04_For; public class For_06 { public static void main(String[] args) { // for(int i=1;i<=10;i++){ // //空格计数从最大值入手,计数从比行数小1开始, // //第一行m为9 ,判断m是否大于10-行数,false,没有空格 // //第二行m初始依旧为9,而10-行数变为8,输出一个空格 // //那么是否可以反过来? _可行,已在For_05 中实现 // for(int m=9;m>10-i;m--){ // System.out.print(" "+" "); // } // for(int j=10;j>=i;j--){ // System.out.print("0"+" "); // } // System.out.print("n"); // } // for(int i=1;i<=10;i++){ // //右下三角应同理 // //仅仅需要将10双方互换 // for(int j=9;j>=i;j--){ // System.out.print(1+" "); // } // for(int m=10;m>10-i;m--){ // System.out.print(0+" "); // } // System.out.print("n"); // } //网络上右下有更优解 //原理为坐标值大小比较 //如此左上三角也可用此法更优解出 System.out.printf("右边直角三角形n"); for(int i = 1;i<=9;i++){ for(int j = 9;j>0;j--){ if(j<=i){ System.out.print("0"); } else{ System.out.print("1"); } } System.out.print("n"); } //等腰同理由1/2坐标值实现 System.out.print("等腰三角形n"); for(int i = 1;i<=5;i++){//确定高 //第一行由高底等边得出需要的1数目 for(int m=0;m<5-i;m++){ System.out.print("1"); } for(int j = 1;j<=i*2-1;j++){//由等边对称得出每行0数目 System.out.print("0"); } System.out.println(); } //倒等腰与之相反 System.out.print("倒等腰三角形n"); for( int i = 1;i<=5;i++){ for(int m=4;m>5-i;m--){ System.out.print("1"); } for(int j = 1;j<=(5-i)*2+1;j++){ System.out.print("0"); } System.out.println(); } //菱形就只是上等腰加下等腰堆砌,其中已个三角形需要减掉一行 for(int i = 1;i<=5;i++){//确定高 //第一行由高底等边得出需要的1数目 for(int m=0;m<5-i;m++){ System.out.print("1"); } for(int j = 1;j<=i*2-1;j++){//由等边对称得出每行0数目 System.out.print("0"); } System.out.println(); } for( int i = 1;i<=4;i++){//此处减掉倒三角一行,变成4行的等腰 for(int m=4;m>4-i;m--){//且要使第一行就有一个1 System.out.print("1"); } for(int j = 1;j<=(4-i)*2+1;j++){ System.out.print("0"); } System.out.println(); } } }
package _05_While; public class While_01 { public static void main(String[] args) { int i = 0 ; //计数循环用if,不知循环次数用while while (i < 100){ System.out.println(i); i++; } } }
package _05_While; public class While_02 { public static void main(String[] args) { int i =1000; do { System.out.println(i); i++; }while(i < 100); } }
package _06_Break_Continue; public class Break_01 { public static void main(String[] args) { for (int i =0; i<10; i++){ if(i == 3){ //终止循环,只能用于内层循环,不能泳衣嵌套循环 break; } } } }
package _06_Break_Continue; public class Break_02 { public static void main(String[] args) { int d = 0; //对外层循环设置名字 outerfor:for(int a =0; a < 5; a++){ for(int x =0; x< 5; x++){ d++; System.out.print(d+" "); if(x == 3){ //终止指定循环 break outerfor; } }System.out.println(); } } }
package _06_Break_Continue; public class Continue_01 { public static void main(String[] args) { for (int i =0; i<10; i++){ if(i == 3){ continue; } System.out.println(i); } }}
package _07_Method; //function 函数 Method 方法 //提高代码重用 public class Method_01 { public static void main(String[] args) { m1(); m1(); } public static void m1(){ int sum = 0; for(int i =1;i<=100;i++){ sum+=i; } System.out.println(sum); } }
package _07_Method; public class Method_02 { public static int m2(int a,int b){ return a+b;//这里的1 只要是int值就可,因为返回值为int类型 } public static void main(String[] args) { Method_01.m1();//调用不同类的方法 int i = 1 ; int j = 2 ; System.out.println(m2(i,j));//调用同类方法 } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)