第一节课:
public class hello{
//java的主程序入口,主线程
public static void main (String[] args){
//输出一段内容
Syetem.out.println("Hello,world!");
}
}
/* 注意:
Java区分大小写,类名不能使用关键字
Java中的符号都是英文状态下的半角
主程序有四要素组成:public static void String[]args
java中 //代表单行注释
/* */代表多行注释
/** */代表doc注释
Java中的每一行都以 ; 结束 除{}外
*/
/*
java 的三步走
编写Java的源程序 .java
编译Java源程序 javac 文件名。后缀名 ----->文件名.class
运行Java字节码文件 Java 类名
//变量:值可以发生改变的量
//常量:制不可以发生改变的量
//如何定义一个变量
//类型 变量名[=值]
变量名:
命名规则:字母,下划线,数字,$,首字母不能是数字,不能使用关键字(可以使用中文)
命名规范:
首字母小写
名词 含有意义的名词
驼峰式命名方式
byte 1字节 127~-128;short 2字节;int 4字节(标准整形) 2147483647~-2147483648;long 8字节;
浮点数:float 4字节;double 8字节
bool:没有字节这一说 true false
char: 2字节 0~65535 表示一个字符
例:int age;//声明了一个变量 但不赋值 (不存在这个变量,不能使用。必须赋值才能使用)
int userAge = 29;//声明并初始化
//浮点型:
float e = 5.4f;
double f = 9.5D;
//布尔类型:
boolean g1 = true;
boolean g2 = false;
//字符类型:
char h1 = 'M';//有且只有一个码
char h2 =3321;//ASCII码 a:97 A:65 0:48
//引用类型
String i = "你好"; //字符串类型
(字符串双引号,字符单引号,其他的都不用引号)
循环:
a:while(){
//给循环起了一个名字用于标记;
}
Java中的for和foreash:
1.如果只是遍历集合或者数组,用foreach好些,快些。
2.如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为的控制,而且也不能调用iterator.remove();更不能使用下标来访问每个元素,所以不能用于增加,删除等复杂的操作。举个例子:
for(String aid:list){
if(aid.equals("aa")){
list.remove(aid); //这行会报错,不能修改list的长度
}
}
所以foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句
java中&叫做按位与,&&叫做短路与,它们的区别是:
& 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。举例如下:
12&5 的值是多少?答:12转成二进制数是1100(前四位省略了),5转成二进制数是0101,则运算后的结果为0100即4 这是两侧为数值时;
若 int i = 2,j = 4;则(++i=2)&(j++=4)的结果为false,其过程是这样的:先判断++i=2是否成立,这里当然是不成立了(3 == 2),但是程序还会继续判断下一个表达式是否成立,j++=4 ,该表达式是成立的,但是&运算符要求运算符两侧的值都为真,结果才为真,所以(++i=2)&(j++=4)的结果为 false 注意 :&为真的条件是两侧表达式都为真,但是即使我们判断出左侧表达式的值为false,程序也还是要继续执行去判断右侧的表达式值的真假
若 int i = 2,j = 4;则(++i=2)&&(j++=4)的结果为false,其过程基本上和上面的是相同的,但是若左侧表达式的值为false时,程序则不会继续判断右侧表达式的真假了,短路与中,短路这个词也就是这个意思