一:java的基本语法
1.代码都是存放在class里面的
2.严格区分大小写(num NUM)是两个不同的变量
3.格式自由.
4.单行注释与多行注释的和文档注释
5.标识符:
全部使用英文字母,骆驼式命名:从第二个单词开始,每个单词的首字母都要大写,其它的小写
(标识符不能为关键字,不能以数字开头)
二:java中的变量
1.有八个原声数据类型和引用数据类型.
2.类型转换:
byte、short、char类型在运行过程中都会提升为int 类型(这样的方式叫自动类型)我们可以将一个int类型强制转换成byte、short、char类型 (需要强制类型转换!显示类型转换丢失精度.
System.out.println('a'+1); 因为 1是int类型的,所以会升级为int 类型.
System.out.println(""+'a'+1);(任何数字和字符串相并且都自动转换成字符串).
3.变量的生命周期:
在方法内定义的变量,当方法被调用的时候,变量被定义,当方法接收的时候。变量也会随着方法释放掉变量的作用域内是不可以重复定义,超出变量的作用域,变量将不能访问.
三:java中的函数
1.定义:函数,又称为方法,能够完成某特定代码的代码块,其个名字,方便于方法的调用函数的作用: 就是可以重复的去利用某一段代码
2.函数必须有的: 函数名 返回值 返回值类型 (形式参数看需求而定)
3.形参:方法定义的形参相当于在方法中定义了一个局部变量,当这个方法被调用的时候,也就是对其方法里面的参数初始化啦!初始值为传递进来的参数
4.返回值类型:可以为任意一个类型,有一种特殊:当方法没有返回值的时候,我们要把返回值类型定义为(void)
5.return :在方法中可以使用return 返回一个值,(返回的值必须是与返回值类型一致)
6.方法的重载:
多个函数具有相同的名字,参数的个数或者类型不同都可以. 返回值类型不能做衡量方法的重载
四:java中的运算符
1.算术运算符 % 取模,也叫做取余
++自增1,--自减1
++x 与x++的区别: 本质上是没有区别的,x++是先参与运算再自加 ,而++x先自加一次才参与运算
在取模运算中,模数的符号会被忽略,被模数符号不能被忽略
2.赋值运算符 = 是赋值的意思
+= ,-=,*=,\=,%=
3.比较运算符号: == 是相互比较的意思
instanceof:判断该对象是否是属于指定的类型
4.逻辑运算符
&和&&的区别:
1. &&如果左边为假,结果注定为假,右边不参与运算
2.&如果左边为假,结构注定为假,但是右边会参与运算
|和||的区别:
1.如果左边为真,结果注定为真,右边不参与运算
2.如果左边为真,结果注定为真,右边参与运算
5.位运算符
&(与):真真得真,真假得假,假假得假
|(或):真假为真,真真为真,假假为假
^(异或):任何一个数与一个指定的数异或两次,其结果等于本身,(第一个数异或第二个数 其结果再异或第二个.其结果等于它本身)(不同为1,相同为0)
移位运算符:
<<左移,砍掉高位,低位补0 一定要把它更改成32位。(左移N位相当于乘以2的N次方)
>>右移,砍掉低位,高位要看最高位的符号。符号位为1,就补1,符号位为0就补0(右移N位,相当于除以2的N次方)
6.switch
switch中的参数是必须是int类型的,但是byte,short,char都是隐式的自动类型提升啦~
break :结束循环
continue:提前结束本次循环,进入到下一次循环
总结:后期学习不认真!估计时间不安排好!!。。注意。
1 小算法复习:
2 /*
3 不用第三方变量交换两个数的值
4
5 异或:第一个数异或第二个数,之后再把结果异或第二个数。其结果等于它本身!
6
7 1.<<最高位砍掉,最低位补零
8 (左移多少位,其实就是*2的N次方)
9 2.>>最低位砍掉.如果最高位是1,前面就是补1,否则补0
10 //(又移多少位,就是/2的N次方)
11 */
12
13 class Demo
14 {
15 public static void main(String[] args)
16 {
17 int a = 3;
18 int b = 5;
19
20 a = a ^ b;
21 b = a ^ b;
22 a = a ^ b ;
23 System.out.println("a == "+a);
24 System.out.println("b =="+b);
25
26 }
27 }
28 /*某个培训中心要为新到的学员安排房间,假设共有x个学员,
29 每个房间可以住6人,让你用一个公式来计算他们要住的房间数
30 */
31
32
33 class Demo
34 {
35 public static void main(String[] args)
36 {
37 int num = 48;
38 int homeNuber = getHomeNumber(num);
39 System.out.println("学生的个数为:"+homeNuber);
40 }
41 static int getHomeNumber(int num) //形式参数的初始化其实就是传递进来的参数帮他初始化啦~
42 {
43 return (num+5)/6; //给一个最大的限度!
44 }
45 }
46
47 /*
48 利用无限循环实现0 - 9 之间的数之间的重复循环
49 */
50
51 class Demo
52 {
53 public static void main(String[] args)
54 {
55 int x = 0;
56 while(true)
57 {
58
59 x = (x+1)%10;
60 System.out.println(x);
61 }
62 }
63 }
64
65 /*
66 利用小技巧把10进制转换成2进制代码!
67 */
68 import java.io.*;
69 class Demo
70 {
71 public static void main(String[] args) throws Exception
72 {
73 //读取键盘
74 BufferedReader br =
75 new BufferedReader(new InputStreamReader(System.in));
76 System.out.println("本程序可以帮助您把十进制代码转换成二进制代码:");
77 String line = br.readLine();
78 int num = Integer.parseInt(line);
79 StringBuffer sb = new StringBuffer();
80 while(num>0)
81 {
82 int temp = num % 2; //获取到除以2的余数!
83 sb.append(temp);
84 num = num / 2;
85 }
86 sb.reverse();
87 System.out.println(sb);
88 }
89 }
90
91
92 /*
93 十进制转换成十六进制之方法一。
94 */
95 import java.io.*;
96 class Demo5
97 {
98 public static void main(String[] args) throws Exception
99 {
100 BufferedReader br =
101 new BufferedReader(new InputStreamReader(System.in));
102
103 System.out.println("本程序可以通过十进制转换成十六进制:");
104
105 String line = br.readLine();
106 int num = Integer.parseInt(line);
107
108 StringBuffer sb = new StringBuffer();
109 while(num>0)
110 {
111 int temp = num % 16;
112 if(temp>9)
113 {
114 sb.append((char)(temp-10+'A'));
115 }else
116 {
117 sb.append(temp);
118 }
119 num = num / 16;
120 }
121 sb.reverse();
122 System.out.println(sb);
123 }
124 }
125
126
127 /*
128 用移位的方法来求一个数
129
130 十进制转换成十六进制
131 */
132 import java.io.*;
133 class Demo
134 {
135 public static void main(String[] args) throws Exception
136 {
137 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
138 System.out.println("本程序可以帮助您从十进制转换到十六进制:");
139 String line = br.readLine();
140 int num = Integer.parseInt(line);
141 Ten2Hex(num);
142 }
143
144 static void Ten2Hex(int num)
145 {
146 StringBuffer sb = new StringBuffer();
147 int count = 0x00000000f;
148 for(int i = 0;i<8;i++)
149 {
150 int temp = num & count;
151 if(temp>9)
152 {
153 sb.append((char)((temp-10)+'A')); //类型要注意
154 }
155 else
156 {
157 sb.append(temp);
158 }
159 num = num >>4;
160
161 }
162 sb.reverse();
163 System.out.println("结果为:"+sb);
164 }
165 }
166
167 /*
168 打印金字塔程序!
169 求算法的时候要注意:
170 找到求第一个的规律.
171 然后循环就可以。
172 */
173
174
175 class Demo
176 {
177 public static void main(String[] args)
178 {
179 int n = 4;
180 for(int i = 0;i<n;i++)
181 {
182 for(int j = 0;j<n-i;j++)
183 {
184 System.out.print(" ");
185 }
186 for(int k =0;k<i*2-1;k++)
187 {
188 System.out.print("*");
189 }
190 System.out.println();
191 }
192 }
193 }
194
195
196 总结:
197 其实switch的参数必须是int类型的,为什么byte char short参数可以传递进来呢?
198 因为它的类型自动提升为int类型啦。也就是隐式的进行了强制转换/所以是可以的.
posted on 2012-08-07 00:40
、小细 阅读(56)
评论(0) 编辑 收藏