尚硅谷 第三课全 java-变量类型转换-字符与字符串-算数运算符-赋值运算符-三元运算符-.switch语句-循环结构-while 循环语句 do-while 循环语句

来源:互联网 发布:淘宝店铺名字大全楚 编辑:程序博客网 时间:2024/04/28 16:25
课前复习:1.变量类型转换public class code1{public static void main(String[]args){long L=234;//自动类型转换System.out.println(L);L=248728394789247928244;Systm.out.println(L );//float f1=12,3;//12.3是double类型float f1=(float)(12.3)}}


2.字符与字符串public class code1{public static void main(String[]args){char m='a';char n='b';System.out.println(m+n);//195=97+98char c='a';System.out.println(""+(c+1)+(char)(c+1));//98b}}进制:2进制 十进制 8进制 16进制 所有数据都是以二进制保存的 整数的原码,反码,补码(分为正数,负数)正数的原码,反码,补码三码合一进制转换:2进制到10进制,8进制,16进制3.运算符<1.算数运算符:+-*、% ++ --/*算数运算符*/public class Text3{public static void main(String []args){int i1=10;int i2=10/2;int i3=12;int i4=i3/2;System.out.println("i2:"+i2);//5System.out.println("i4:"+i4);//2double d1=i3/5;System.out.println("d1:"+d1); int a=1230; int b=a/1000;//1; int c=12/5*5; System.out.println("b:"+b); System.out.println("c:"+c);  int j1=12; int j2=j1%5; System.out.println("j2:"+j2);//2  j1=12;  j2=j1%-5; System.out.println("j2:"+j2);//2  j1=-12;  j2=j1%5; System.out.println("j2:"+j2);//-2  j1=-12;  j2=j1%-5; System.out.println("j2:"+j2);//-2 //结果与被模数一直 int m1=10; int m2=m1++; System.out.println("m1:"+m1);//11 System.out.println("m2:"+m2);//10 m1=10; m2=++m1; System.out.println("m1:"+m1);//11 System.out.println("m2:"+m2);//11//前++ 先加一后赋值//后++ 先赋值后++ m1=10; m2=--m1; System.out.println("m1:"+m1);//9 System.out.println("m2:"+m2);//9 m1=10; m2=m1--; System.out.println("m1:"+m1);//9 System.out.println("m2:"+m2);//10 short s1=10; s1=(short)(s1+1); s1++;//数据类型没变 System.out.println("s1:"+s1);}}<2.赋值运算符 =   +=   -=   *=   /=   %=int i=10;i+=2;System.out.println(i); //12 Int j=10;J=j+2;System.out.println(j);Short s1=10;s1+=2;s1=s1+2;s1=(short)s1+2;class Text4{public static void main(String[]args){int i1=10;//i1=i1+5;i1+=5;//i1=i1+5;double d=15;d*=0.2;//d=d*0.2;System.out.println("i1:"+i1);System.out.println("d:"+d);short s=10;s+=2;//s=s+2;System.out.println("s:"+s);int i=1;i*=0.1;System.out.println(i);//0i++;System.out.println(i);//1}<3.比较运算符 == > < >= <= instanceof比较运算符的结果为Boolean类型的值4>=3返回的是true 表示的是4>3||4==3If(3<i<5)//不对If(i>3&&i<5){}<4.逻辑运算符 &  && |   ^  !>逻辑运算符比较的是boolean的值& &&的区别&  |  当符号左端为假时程序会继续执行符号又端的class Text7{public static void main(String[] args){boolean b1=true;boolean b2=false;System.out.println(b1 & b2);System.out.println(b1 && b2);System.out.println(b1 | b2);System.out.println(b1 || b2);System.out.println(b1 ^ b2);System.out.println(!b1);//&当符号左端为假时程序会继续执行符号又端的int i1=10;if(b2 & i1++>0){//全部判断完System.out.println("条件为真");}else{System.out.println("条件为假");}System.out.println("i1:"+i1);int i2=10;if(b2 && i2++>0){//短路判断System.out.println("条件为真");}else{System.out.println("条件为假");}System.out.println("i2:"+i2);if (b2 & 10/0 >2){System.out.println("Hi Hi");}//| and ||的区别int j1=10;if(b1 | j1++>0){System.out.println("条件为真");}else{System.out.println("条件为假");}System.out.println("j1="+j1);int j2=10;if(b1 || j2++>0){System.out.println("条件为真");}else{System.out.println("条件为假");}System.out.println("j2="+j2);}}<5.位运算符 <<  >> >>> & |  ^  ~总结:<<:整数class Text8{public static void main(String[] args){int a=31;int b=a<<2;System.out.println(b);//124  =31*4System.out.println(2<<3);//16System.out.println(31<<28);//-26843546a=-31;b=a>>2;System.out.println(b);b=a>>>2;System.out.println(b);}}[例子]如何交换两个整数的值class Text9{public static void main(String[] args) {int m=12;int n=5;System.out.println("m:"+m+" n,"+n);int temp =m;m=n;n=temp;System.out.println("m:"+m+" n,"+n);m=m+n;//m=17;n=m-n;//12=17-5m=m-n;//5=17-12System.out.println("m:"+m+" n,"+n);m=m^n;n=m^n;m=m^n;System.out.println("m:"+m+" n,"+n);}}/**/class TestReview{public static void main(String[] args){long l = 2341;//自动类型转换System.out.println(l);long l1 = 1431542366346123L;//直接赋值System.out.println(l1);float f1 = 12.3F;//编译出错。因为12.3是double类型的//byte short char 三者之间运算的结果为int型char m = 'a';char n = 'b';System.out.println(m + n);//195 = 97+98char c = 'a';System.out.println(c + 1);//98System.out.println((char)(c + 1));//b//如何手动实现整型数值60的二进制到十六进制的转换String str1 = Integer.toBinaryString(60);String str2 = Integer.toHexString(60);System.out.println(str1);System.out.println(str2);int i1 = 60;int i2 = i1&15;String j = (i2 > 9)? (char)(i2-10 + 'A')+"" : i2+"";int temp = i1 >>> 4;i2 = temp & 15;String k = (i2 > 9)? (char)(i2-10 + 'A')+"" : i2+"";System.out.println(k+""+j);}}<6.三元运算符格式(条件表达式)? 表达式1 : 表达式2 /*三元运算符(条件表达式)?表达式1 :表达式2返回一个结果结果的数据类型取决于表达式1.表达式2的数据类型两个表达式的数据类型要一直*/class Text10{public static void main(String[] args) {int i=20;int j=20;//取出最大值String  max=(i>j)?"i大":(i==j)?"相等":"j大";System.out.println(max);}}  class Text12{public static void main(String[] args) {//4,2,1int a=13;int b=12;int c=5;int max=0;max=(a>b?(a>c?a:c):(b>c?b:c));System.out.println("max="+max);}}4.流程控制:<1顺序结构:<2.分支结构:(1)条件判断 if  if else    if  else if  else if  else   说明: 一旦满足(即返回true)就到相应的{}执行import java.util.*;class Text15{//如何从键盘输入/*1.导入java.util.Scanner类2如果多个条件间是互斥关系,那么多个if else if谁上谁下不影响3如果多个条件是包含关系,要将范围小的放在范围大的上边*/public static void main(String[] args){Scanner s=new Scanner(System.in);//调用方法,获取信息//String a=s.next();//4.操作//System.out.println(a);int score=s.nextInt();if(score==100){System.out.println("奖励一个BOMA");}else if(score>80 && score<=90){System.out.println("奖励一个IPone");}else if(score>=60&&score<=80){System.out.println("奖励一个参考书");}else{System.out.println("什么都没有");}}}本次课<3.循环结构:import java.util.*;public class code2{public static void main(String[]args){Scanner s=new Scanner (System.in);System.out.println("请输入第一个整数");int num1 = s.nextInt();System.out.println("请输入第二个整数");int num2 = s.nextInt();System.out.println("请输入第三个整数");int num3 = s.nextInt();if(num1>num2){if(num3>num1){System.out.println(num2+"<"+num1+"<"+num3);}else if(num3<num2){System.out.println(num3+"<"+num2+"<"+num1);}else{System.out.println(num2+"<"+num3+"<"+num1);}}else{if(num3>num2){System.out.println(num1+"<"+num2+"<"+num3);}else if(num3<num1){System.out.println(num3+"<"+num1+"<"+num2);}else{System.out.println(num1+"<"+num3+"<"+num2);}}}}


注意:public class code3{public static void main(){int i=2;if(i<0)System.out.println("Hello Word!");System.out.println("word");elseSystem.out.println("Hello");}}


/*大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以上;富:财富1千万以上;帅:是。如果这三个条件同时满足,则:“我一定要嫁给他!!!”如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”如果三个条件都不满足,则:“不嫁!”*/import java.util.*;class Text17{public static void main(String[] args){boolean a=false;boolean b=false;boolean c=false;System.out.println("输入:高:");a= ((new Scanner(System.in).nextDouble())>=180);System.out.println("输入:富:");b=((new Scanner(System.in).nextDouble())>=10000);System.out.println("输入:帅: Y/N");c=new String ((new Scanner(System.in).next())).equals("Y");if(a&&b&&c){System.out.println("我一定要嫁给他!!!");}else if(a|b|c){System.out.println("嫁吧,比上不足,比下有余。");}else{System.out.println("不嫁!");}}}import java.util.Scanner;class TestExe{public static void main(String[] args){System.out.println("请输入身高(cm):");Scanner scanner = new Scanner(System.in);int hight = scanner.nextInt();System.out.println("财富(千万):");double fortune = scanner.nextDouble();System.out.println("帅否:(是/否)");//("帅否:(true/false)");boolean smart = scanner.nextBoolean();//String str = scanner.next();if (hight >= 180 && fortune >= 1 && smart == true/*str.equals("是")*/){System.out.println("我一定要嫁给他!!!");}else if (hight >= 180 || fortune >= 1 || smart == true/*str.equals("是")*/){System.out.println("嫁吧,比上不足,比下有余.");}elseSystem.out.println("不嫁!");}}5.switch语句/*1.根据变量值,选择相应的case 语句执行,一旦进入case语句在没有出现break和case语句,在没有出现break,case语句的情况下,会继续执行case语句,而不跳转当签名结构2在switch-case结构中,可以使用break比碍事当程序执行到此程序的时候,跳出当前循环3.default的位置比较灵活,建议加上break;4.switch  的类型是int byte short String2.若多个case语句的执行语句相同,可以合并3.switch case()满足变量类型,数据不多*/import java.util.*;public class code4{public static void main(String[]args){Scanner s=new Scanner (System.in);while(true){System.out.println("输入1--3题目-1break");int a=s.nextInt();if(a==-1)break;switch(a){case 1:fun1();break;case 2:fun2();break;case 3:fun3();break;default:System.out.println("输入错误!!");break;}}}public static void fun1(){Scanner s=new Scanner (System.in);System.out.println("输入1 2 3 -1结束");int i=s.nextInt();while(i!=-1){switch(i){default:  System.out.println("other");  break;case 0:System.out.println("zero");break;case 1:System.out.println("one");break;case 2:System.out.println("two");break;case 3:System.out.println("three");break;}i=s.nextInt();}System.out.println("请输入:spring /summer /winter");String season =s.next();switch(season){case "spring":System.out.println("春天");break;case "summer":System.out.println("夏天");break;case "winter":System.out.println("冬天");break;default:System.out.println("other");break;}}public static void fun2(){Scanner s=new Scanner(System.in);System.out.println("输入学生成绩:");int score=s.nextInt();switch(score/10){case 10:case 9:case 8:case 7:System.out.println("良好");break;case 6:case 5:case 4:System.out.println("不好");break;default:System.out.println("why");}switch(score/60){case 1:System.out.println("合格");break;case 0:System.out.println("不合格");break;default:System.out.println("输入出错!");}}public static void fun3(){Scanner s=new Scanner (System.in);System.out.println("2014\n请输入Month");int month=s.nextInt();System.out.println("请输入Day");int day=s.nextInt();int sum=0;switch(month){case 12:sum+=30;case 11:sum+=31;case 10:sum+=30;case 9:sum+=31;case 8:sum+=31;case 7:sum+=30;case 6:sum+=31;case 5:sum+=30;case 4:sum+=31;case 3:sum+=28;case 2:sum+=31;case 1:sum+=day;break;default:System.out.println("出错");}System.out.println("2014年"+month+ "月" + day + "日" +"是这年的:" + sum +"天!");}}

/*从键盘分别输入年、月、日,判断这一天是当年的第几天    注:判断一年是否是闰年的标准:       1)可以被4整除,但不可被100整除       2)可以被400整除*/import java.util.*;public class code7{public static void main(String[]args){System.out.println("从键盘上输入“年” “month”和“day”");Scanner s=new Scanner(System.in);int Year=s.nextInt();int Month=s.nextInt();int Day=s.nextInt();int [] a={31,28,30,31,30,31,30,31,30,31,30,31};int day=0;if((Year%4==0&&Year%100!=0) || Year%400==0){a[1]=29;System.out.println("闰年:");}else{System.out.println(" 不是闰年。。");}if(Day>a[Month-1]){System.out.println("没有这个日期 :出错");System.exit(1);}for(int i=0;i<Month-1;i++){day+=a[i];}day+=Day;System.out.println("这是2013年的"+day+"天");}}If else 与switchimport java.util.*;public class code5{public static void main(String[]args){fun1();fun2();}public static void fun2(){Scanner s=new Scanner (System.in);System.out.println("请输入学生成绩:");int score = s.nextInt();char level=' ';switch(score / 10){case 10:case 9:level = 'A';break;case 8:case 7:level = 'B';break;case 6:level = 'C';break;default:level = 'D';break;}System.out.println("学生成绩:"+score+",等级为" + level);}public static void fun1(){Scanner s=new Scanner (System.in);System.out.println("请输入学生成绩:");int score = s.nextInt();char level=' ';if(score>=90&&score<=100){level='A';}else if(score>=70 && score<=80){level='B';}else if(score>=70 && score<=80){level='C';}else{level='D';}System.out.println("学生成绩:"+score+",等级为" + level);}}循环结构循环语句功能 在某些条件满足的情况下,反复执行特定代码的功能 循环语句的四个组成部分 初始化部分(init_statement) 循环条件部分(test_exp)  循环体部分(body_statement)  迭代部分(alter_statement)  循环语句分类 for 循环 while 循环 do/while 循环  For 循环实例:public class code6{public static void main(String []args){int i=0;for(System.out.println("Hello");i<7;System.out.println("word"),i++){System.out.println("b");}//i=9,i=8;int count=0;for( i=1;i<100 ;i++ ){if(i%2== 0){System.out.print("\t"+i);count++;}if(i%10==0)System.out.println();}System.out.println("个\n数为"+count);}}例子2/*编写程序FooBizBaz.java,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。*/public class Text7{public static void main(String[]args){for(int i=1;i<=150;i++){System.out.print(i+" ");if(i%3==0){System.out.print("foo ");}if(i%5==0){System.out.print("biz ");}if(i%7==0){System.out.print("baz ");}System.out.println();}}}/*1.打印1~100之间所有奇数的和2.打印1~100之间所有是7的倍数的整数的个数及      总和(体会设置计数器的思想)3.输出所有的水仙花数,所谓水仙花数是指一个3   位数,其各个位上数字立方和等于其本身。    例如: 153 = 1*1*1 + 3*3*3 + 5*5*5*/public class Text8{public static void main(String[]args){ fun1(); fun2(); fun3();}public static void fun1(){int sum=0;for(int i=0;i<100;i++){if(i%2==1){sum+=i;  }  }System.out.println("1~100之间所有奇数的和"+sum);}public static void fun2(){int i=0;int sum=0;for(i=0;i<100;i++){if(i%2==1){sum+=i;  }  }System.out.println("1~100之间所有是7的倍数的整数的个数"+i+"总和"+sum);}public static void fun3(){int sum=0;int code=0;for(int i=0 ;i<=9 ;i++ ){for(int j=0 ;j<=9 ;j++ ){for(int k=0 ;k<=9 ;k++ ){code=i*i*i+j*j*j+k*k*k;if(code/100>0){int a=code/100;int b=(code%100)/10;int c=(code%10);if(a==i&&b==j&&c==k){System.out.print("\t"+code);sum+=code; }  }}}}System.out.println("\n\t求和结果:"+sum);}}while 循环语句 do-while 循环语句public class code8{public static void main(String[]args){int i=1;int count=0;int sum=0;while(i<=100){if(i%2==0){System.out.println(i);count++;sum+=i;}i++;}System.out.println(i);System.out.println("个数为"+count);System.out.println("和为"+sum);int j=1;do{if (j%2==0){System.out.println("*****"+j);}j++;}while(j<=100);System.out.println(i);System.out.println("个数为"+count);System.out.println("和为"+sum);int m=10;do{System.out.println(m);}while(m<5);}}1)九九乘法表 2)1—100之间的所有质public class code9{public static void main(String[]args){for(int i=1;i<=9;i++){for(int j=1 ;j<=9 ;j++ ){System.out.print(i+"*"+j+"="+i*j+"\t");}System.out.println();}int i=0,j=0,k=1;for( i=3 ;i<100 ;i++ ){for(j=2 ;j<i ;j++ ){if(i%j==0)break;}if(j==i){System.out.print("\t"+i);k++;}if(k%5==0){System.out.println();k=1;}}}}


public class code11{public static void main(String[]args){for( int i=0;i<9/2 ;i++  ){for(int k=0 ;k<9/2-(i+1) ;k++ )//空格System.out.print(" ");for(int j=0;j<=i*2;j++)System.out.print("*");System.out.println();}for( int i=0;i<=9/2 ;i++  ){for(int k=0 ;k<i+1 ;k++ )//空格System.out.print(" ");for(int j=0;j<=(9/2)-2*i;j++)System.out.print("*");System.out.println();}}}

public class code9{public static void main(String[]args){for(int i=1;i<=9;i++){for(int j=1 ;j<=9 ;j++ ){System.out.print(i+"*"+j+"="+i*j+"\t");}System.out.println();}int i=0,j=0,k=3;System.out.println("\t"+1+"\t"+2+"\t");long start =System.currentTimeMillis();boolean al=false;for( i=3 ;i<1000000 ;i++ ){for(j=2 ;j<Math.sqrt(i) ;j++ ){if(i%j==0){al=true;break;}}if(!al){System.out.print("\t"+i);}al=false;}long end=System.currentTimeMillis();System.out.println("\n"+(end-start));//5288}}




0 0
原创粉丝点击