第一次学java,环境变量就配置了好久,哭死
- IDEA使用的一些小插曲
- 与C语言雷同的一些基础部分
- 注释
- 标识符与关键字
- 数据类型
- a.基本类型
- b.引用类型
- 数据类型的一些扩展事项
- 变量
- 作用域
- 常量
- 运算符
- Math类
IDEA使用的一些小插曲
1.文字字体设置(File->settings->editor->color scheme->java)
注意右边的inherit values from要去掉勾。
2.project structure的设置:
首先:File->project structure->project->SDK调成i.8(根据下载版本确定,反正不要是红色的No SDK就行)
其次:language level要设置成我们下载版本对应的级别,我这里是8。
改完之后要点击apply和OK才能保存更改,不要忘记。
与C语言雷同的一些基础部分
注释
1.单行注释:两个斜杠//, 和C一样。
2.多行注释:/**/,和C一样(快捷方式:/*+回车键)
3.文档注释:
如图,每一行都有一个星号,星号后面用于写参数。(快捷方式:杠+星+星+回车)
有一点区别:如上图,加在类(class)上面的是类的注释,加在方法(method)上面的是方法的注释
标识符与关键字
上图包含了java的一些常见关键字。
类名:class 后面的名字,如public class helloworld中的helloworld。
变量名:变量的名称,如int n中的n。
方法名,如public static void main()里面的main。
注意:
1.所有标识符都必须以字母(大小写均可),$美元符号,或者下划线_开头
2.首字符之后可以用字母, $美元符号,下划线_或者数字任意组合
3.不能使用关键字作为变量名、方法名或类名
4.标识符是大小写敏感的(区分大小写,比如如n和N是两个变量)
5.String不是关键词!!!!!!!!
数据类型
a.基本类型
1.整数类型:
名称 | 空间大小/字节 | 范围 |
byte | 1 | -128~127 |
short | 2 | -32768~32767 |
int | 4 | -2147483648~2147483647 |
long | 8 | -9223372036854775808~9223372036854775807 |
2.浮点类型
名称 | 空间大小/字节 |
float | 4 |
double | 8 |
3.字符类型
char 类型,占两个字节
4.Boolean类型
只有true和false两种类型,占一个字节
注意在声明long的时候要加一个L以示区分,比如long x=1000000L,其实用小写l也行,但为了避免与1混淆,用大写更佳。
类似地,我们在声明float的时候,为了和double区分,要在数字后面加一个f或F。但是long不加L不会报错,F不加会报错。
还有一点,在运算过程中如果有自己写的常数,如123134543544435,默认为Int 类型,如果超过了int,要在其最后加上L。
b.引用类型
1.类
2.接口
3.数组
数据类型的一些扩展事项
1.二进制:0b开头,如0b10是2(千万小心是零b不是欧b)
2.八进制:0开头,同上。
3.十六进制:0x开头,同上。
4.float和double类型不要直接比较==,否则会因为精度问题或者显示长度产生错误,最好完全避免浮点数的比较。(剧透,用BigDecimal类可以解决一些浮点问题)
5.println()一个char类型的量,如果不强制转换为int,则输出char对应的字符,反之输出unicode或者ASC编码中的数值。char 的本质是整数类型,以数字形式储存
6.注意下图中的char c=‘\u0061’。unicode是16进制的(0~65535),\u就是转义后面的4位16进制的数字为字符,'a’对应97(0x61)。
7.其他转义字符:\t,\n.
8.类型转换:
运算时按从低到高自动转换,与语言相同,但是在加减乘中如果有Long则最终为long, 反之则默认为int。
强制转换和c一样,如:
int a=128;
byte b=0;
b=(byte)a;
这个例子里面b=-128,因为溢出了.
警告:不能对Boolean类型进行转换,也不能转化为不相干的类型
注意:+如果连接的一端是String类型,则功能为字符串连接符,把其他的变量都转化为字符串,如下图
9.JDK7新特性,数字可以用_隔开,对结果不影响。如int num=100_000_000;
10.注意,如下图,total2=money*years;money和years先计算产生int类型的值但是溢出,在转换成long,还是溢出的,所以不行。解决办法是对money或year先进行强制转换。
变量
java是一种强类型语言,先定义变量后才能使用
要素:
1.变量名
2.变量类型
3.作用域
作用域
1.局部变量在方法内部,必须声明和初始化值。
2.实例变量在class里面,方法外面;是从属于对象的,不用初始化,若
不初始化int的默认值为0,布尔类型默认为false,除了基本类型其他默认值为null。
3.类变量位置和实例变量一样,但是前面加了static,作用域和类共存亡
常量
final double pi=3.14;
这里final相当于C语言的const,如果要加static,放在final的前面或后面都可以
原因:修饰符不区分前后
下图了解即可
运算符
关系运算符返回布尔值,其余与C相同
&&符号遇到0则短路,比如c!=0&&d++==0,如果c=0,则后面d++不执行
同样地,||遇到1短路
Math类
相当于#includec<math.h>
double a=Math.pow(3,2);