Lesson_2 上课笔记
1 /************************************************** 2 * 3 * CH-2-01, 2012-12-22 4 * 5 * 数据类型 6 ***************************************************/ 7 8 9 /*************************************************** 10 * 1、为什么要定义变量? 11 * 房间 <------> 变量 12 * 2、变量是怎么命名的? 13 * 3、类型转换是怎么转换的? 14 * (1)、自动类型转换(由低向高) 15 * 1)、类型相容 16 * 2)、目标类型大于源类型 17 * (2)、强制类型转化 18 * 1)、注意数据精度的丢失 19 * 2)、类型相容 20 * 4、运算符和表达式 21 * (1)++/--的对象只能是变量,不能是表达式. 22 * 23 ****************************************************/ 24 25 26 import java.util.Scanner; 27 28 class Day2{ 29 30 static{//静态,只执行一次,貌似只能放在开头? 31 32 System.out.println("Static code"); 33 34 } 35 public static void main(String[] args) { 36 //变量的语法: [访问修饰符] 数据类型 变量名 [= 初始值] ;//[]内容可省略 37 //数据类型: 描述数据的格式 38 // 1、基本类型{boolean->1, byte->8, char->8,short->16, int->32, long->64 float->32 double->64} 39 // (1)、Unicode编码 ‘\u0000’ 40 // 2、引用类型 41 // (1)、八种基本类型对应的8种引用类型 42 43 //变量名: 看其名知其意. 常使用 匈牙利驼峰命名/下划线命名 44 // eg1:String stuName //驼峰 45 // eg2:int stu_name //下划线 46 47 String stuName; 48 int age = 10; 49 float height = 1.72f + age;//注意变量类型. 50 char sexy = 'M';//注意单引号和双引号的区别 51 float 体重 = 1.88f;//可以用,不推荐 52 System.out.println("身高:" + height + " " + 体重);//“ + ”:只要有一个字符串存在,就会将所有转换成字符串 53 54 System.out.println(age++);//结束后实际上 age 已经变成11了,这里先使用age原来的值 55 System.out.println(age);//打印age的值 56 57 age = 10;//恢复原来数据 58 System.out.println(++age); 59 60 age = 10; 61 int sum = age++ + age++ + age++;// C/C++中用不同的编译器得出的结果不同.和编译器的优化有关,可以反编译看执行过程 62 System.out.println(sum); 63 64 System.out.println(100/3.0); 65 66 System.out.println(100%3.0);//这样也行!!!!!!!!fuck 67 68 //韩信点兵 69 int count = 0;//记录满足这样的数的个数 70 for(int i = 1; i < 10000; i++){ 71 if(i % 5 == 1 && i % 6 ==5 & i % 7 == 4 & i % 11 == 10){//注意短路与&& 和 按位与&的区别 72 System.out.println(i); 73 count++; 74 }else{ 75 continue; 76 } 77 } 78 System.out.println(count); 79 80 81 //条件运算符--唯一的三元运算符,可以用来代替简单的if 82 //作业:求三个数的最大值 83 84 int a = 0; 85 int b = 0; 86 int c = 0; 87 88 System.out.println("请输入三个整数:"); 89 Scanner sc_a = new Scanner(System.in); 90 Scanner sc_b = new Scanner(System.in); 91 Scanner sc_c = new Scanner(System.in); 92 a = sc_a.nextInt(); 93 b = sc_b.nextInt(); 94 c = sc_c.nextInt(); 95 int max; 96 max = a > b ? (a > c ? a : b) : (b > c ? b : c);//相当于分支判断 97 System.out.println("max = " + max); 98 99 100 {//代码块 101 102 String name = "fll"; 103 104 System.out.println("FLL"); 105 106 } 107 108 109 110 System.out.println("\n\n请输入您的成绩:"); 111 Scanner sc = new Scanner(System.in);//通过标准键盘输入对象。 112 //要导入:java.util.Scanner; 113 114 int score = sc.nextInt(); 115 116 if(score >= 90){//简单的if-else语句 117 System.out.println("优秀"); 118 } else if(score >= 80){ 119 System.out.println("良好"); 120 } else if(score >= 60){ 121 System.out.println("中等"); 122 } else{ 123 System.out.println("差"); 124 } 125 126 //if-else嵌套 127 if(score > 0){ 128 if(score >= 60){ 129 if(score >= 80){ 130 if(score >= 90){ 131 System.out.println("优秀"); 132 } else { 133 System.out.println("良好"); 134 } 135 } else { 136 System.out.println("中等"); 137 } 138 }else{ 139 System.out.println("差"); 140 } 141 } 142 143 //switch case 144 switch(score/10){ 145 /* 146 case 10: 147 case 9: 148 System.out.println("优秀"); 149 break; 150 */ 151 case 8: 152 System.out.println("良好"); 153 { 154 int hh = 111111111;//这里面也可以定义变量.注意要加大括号!!! 155 //貌似变量名不能和main中的重复,不信可以试一下。 156 System.out.println(hh); 157 } 158 break; 159 case 7: 160 case 6: 161 System.out.println("中等"); 162 break; 163 case 5: 164 case 4: 165 case 3: 166 case 2: 167 case 1: 168 System.out.println("差"); 169 break; 170 default: 171 System.out.println("优秀"); 172 break; 173 } 174 175 } 176 177 178 179 public void Display(){ 180 System.out.println("Display方法执行"); 181 } 182 }