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 }