1.1
1.1.1. 编写简单的helloworld:
//编写简单的helloworld
public class Hello {
//psvm (main 输入)
public static void main(String[] args) {
//sout (输出)
System.out.println("Hello World");
System.out.println("Hello~~~");
}
}
1.1.2. 排版
Java程序代码必须放进类里,类的定义格式;
修饰符 class 类名{
程序代码
}
Ideal排版快捷键: Ctrl + Shift + F
如果ctrl+shift+f 仍然不起作用,则与搜狗输入法冲突,将输入法中 Ctrl + Shift + F 关闭即可:
1.2.1 注释
1 // ;单行代码注释
2 段落注释
/*
*
*
*
*
* */
3文档注释
/* *
*
*
*
*/
2.1 变量的定义
int x = 0,y;
y = x + 3;
这个代码在内存里是什么意思?
2.1.3 java中的标识符
可以字母开头,不能数字开头
系统用到的关键字不能用来当变量
2.1.4 常量
1 整型常量 二进制八进制 十进制 .........
2 浮点数常量
3 字符常量 单引号 (‘ ’)括起来
4 字符串常量 双引号 (“ ”)
5 布尔常量 用于区分事物真假(true / false)
6 null常量 只有一个值null,表示对象的引用为空
2.2.2变量的数据类型
Double占8个字节 float占4个字节
注意:在Java中,一个小数会被默认为double类型的值,因此在为一个float类型的变量赋值时,在所赋值的后面一定要加上字母 F(或者小写 f ),而为double类型的变量赋值时,可以在所赋值的后面加上字母D(或小写 d ),也可以不加。
2.3.1变量的类型转换
1 自动类型转换(隐士类)
byte b = 3;
int x = b;
下面代码是错误的,原因:int类型是四个字节,byte类型是1个字节,赋值时会丢失数据
int a 3;
byte b = a;
2 强制类型转换
△多学一招:表达式类型自动提升
变量在表达式中进行运算时,可能会发生自动类型转换,这就是表达式数据类型的自动提升。
例如:一个byte型的变量在运算期间类型会自动提升为int型。
解决办法:进行强制类型转换,byte b3 = (byte)(b1 + b2);
2.3.2算数运算符
(1)自增(++) 自减(--)
public static void main(String[] args){
int a = 1;
int b = 2;
int x = a + b++;
system.outprint("b="+b);
system.outprint("x="+x);
}
先取b=2运算得x=3后加1 结果3 3
3 3
public static void main(String[] args){
int a = 1;
int b = 2;
int x = a + ++b;
system.outprint("b="+b);
system.outprint("x="+x);
}
b先加1=3 运算出x=4 结果 3 4
3 4
(2)除法运算
当除数和被除数都为整数时,得到的结果为整数,如果有小数(1.0)参与,得到的结果会是一个小数
public static void main(String[] args){
int i = 7;
int j = 2;
system.outprint(i/(j*1.0));
}
(3)取模(取余)运算
运算结果的整数取决于被模数的符号(即i的正负)
public static void main(String[] args){
int i = -7;
int j = 2;
j *= i; //j = j * i
system.outprint(j);
}
2.3.3 赋值运算
==
2.3.4 逻辑运算
| | :或 (有真则真)
& :与 一个假全假(单与:运算两边)
&&:一个假(就运算一边)
异或 ^ : 只要两边不同才为真
运算级优先级(不懂区分的 可以用括号)
public static void main(String[] args) {
int x = 0; // 定义变量x,初始值为0
int y = 0; // 定义变量y,初始值
int z = 0; // 定义变量z,初始值为0
boolean a, b; // 定义boolean变量a和b
a = x > 0 & y++ > 1; // 逻辑运算符&对表达式进行运算
System.out.println(a);
System.out.println("y = " + y);
b = x > 0 && z++ > 1; // 逻辑运算符&&对表达式进行运算
System.out.println(b);
System.out.println("z = " + z);
}
"y = " + y,左侧是字符串,此时 + 号就表示两个字符串连接的意思,右侧y的值为1,自动变成了"1"
"y = " + y其实就成了:"y = " + "1"
两个字符串合并后称为:"y = 1"
打印出来就是y = 1