JRE和JDK
- JRE(Java runtime environment):是Java程序的运行时环境,包含JVM和运行时所需要的核心类库
- JDK(Java development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具
我们想要运行一个已有的Java程序,那么只需安装JRE即可
我们想要开发一个全新的Java程序,那么必须安装JDK
常量分类
- 1.字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:“abc” “Hello” “123”
- 2.整数常量:直接写上的数字,没有小数点。例如:100 200 0 -250
- 浮点数常量:直接写上的数字,有小数点。例如:2.5 -3.14 0.0
- 字符常量:凡是用单引号引起来的单个字符,就叫做字符常量。例如:‘A’ ‘b’ ‘9’ ‘忠’ (两个单引号之间必须有且仅有一个字符)
- 布尔常量:只有量中取值,true false
- 空常量:null,代表没有任何数据。
数据类型
数据类型 | 关键字 | 内存占用 | 取值范围 |
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
整型 | int | 4个字节 | -231~231-1 |
长整型 | long | 8个字节 | -263~263-1 |
单精度浮点数 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double | 8个字节 | 4.9E~1.7977E+308 |
字符型 | char | 2个字节 | 0~65535 |
注意:
1.字符串不是基本数据类型
2.浮点数可能知识一个近似值,并非精确的值
3.数据范围和字节数不一定相关
变量注意事项
1.如果创建多个变量,那么变量名之间不可以重复
2.对于float和long类型来说,字母后缀F和L不要丢掉
3.如果使用byte或者short类型的变量,右侧的数据值不能超过左侧类型的范围
4.没有进行变量赋值的变量,不能直接使用。
5.变量使用不能超过作用域的范围
{
int n = 60;
System.out.println(n); //60
}
System.out.println(n); //已经超出作用域范围,超出作用域的变量不能再使用了。
6.可以通过一个语句来创建多个变量,但是一般情况不推荐使用。
int a = b = c = 20;
当数据类型不一样时,将会发生数据类型转换
1.特点:代码不需要进行特殊处理,自动完成。
2.规则:数据范围从小到大
long n = 100; //int --> long
1.特点:代码需要进行特殊的格式处理,不能自动完成
2.格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
int n = (int)100L; //100
对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器会自动隐含的为我们补上一个(byte)(short)(char)
1.如果没有超过左侧范围,编译器补上强转
2.如果右侧超过左侧范围,那么编译器直接报错
编译器常量优化:在给变量进行赋值时,如果右侧的表达式中全是常量,没有任何变量,那么编译器javac将会直接将若干个常量表达式计算得到的值。
一旦表达式当中有变量参与,那么就不能进行这种优化了。
short n1 = 5 + 4 + 5 ; //18
short a = 5;
short n2 = a + 4 + 5; //error
1.强制类型转换一般不推荐使用,因为可能发生精度损失、数据溢出。
2.byte/short/char这三种类型都可以发生数学运算,例如加法“+”
3.byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再运算。
4.Boolean类型不能发生数据类型转换
定义一个方法的格式
public static void 方法名称() {
方法体
}
方法名称的命名规则和变量一样,使用小驼峰
方法体:也就是大括号当中可以包含任意条语句。
注意事项:
- 方法定义的先后顺序无所谓
- 方法的定义不能产生嵌套包含关系
- 方法定义好了之后,不会执行的,如果想要执行一定要进行方法的【调用】
switch语句使用的注意事项
1.多个case后面的数值不可以重复
2.switch后面的小括号当中只能是以下的数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举
3.switch语句格式可以很灵活,前后顺序可以颠倒,而且break语句可以省略。
switch(num){
case 1:System.out.println("1");break;
case 2:System.out.println("2");break;
case 3:System.out.println("3");break;
case 4:System.out.println("4");break;
default:System.out.println("nothing");break;
} //switch
for,while,do…while三种循环的区别
1.如果条件判断从来没有满足过,那么for,while循环会执行0次,但是do…while循环会至少执行1次
2.for循环的变量再小括号当中定义,只有循环内部可以使用,while循环和do…while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。
关于循环的选择,小建议:凡是次数确定的场景多用for循环,否则使用while循环。
永远停不下的循环叫死循环,标准格式:
while(true){
循环体
}
代码的层次:
IntelliJ IDEA使用
进入IntelliJ IDEA官网
点击创建一个新的项目
等待项目启动。。。
在file中有一个Project Structure
在Project Structure的Modules中可以新建模块
在包中新建一个类,当然是基础入门最经典的helloworld,注意首字母大写
运行结果:
重新设置一下补全代码的快捷键
先将原本的Ctrl+空格取消掉
将补充代码变为Alt + ‘/’
等等直接选remove好了,因为有一个冲突了
如果各位用过pycharm,就会发现IntelliJ IDEA和pycharm非常相似。