1.java开发环境配置
jdk安装,在官网上找到对应系统的jdk版本并下载,然后按照提示安装好即可。在jdk安装好后需要进行环境变量的配置
一般配置这几个就可以了
JAVA_HOME: java的安装目录
path:把当前jdk的bin加入到这个环境变量内每个环境变量用英文环境下的;隔开,这个环境变量是当我们在任意路径执行
java 命令时,系统到哪里去寻找我们想要执行的命令
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
linux下 /etc/profile export PATH=$PATH:/mysoft/jdk/bin:/mysoft/jdk/jre/bin
classpath: 这个环境变量是java寻找.class文件的寻址地址, 如果没有配置则只会在当前目录下寻找
2. jdk, jre, jvm的区别与联系
jdk: java development kit java开发
jre: java运行时环境 java runtime environment
jvm: jvm虚拟机,java程序就是运行在jvm之上的
jvm与java基本类库组成了jre
jre与一些工具包比如说编译器等组成了jdk
3.数据类型
基本数据类型
整型默认为int
整型 长度(byte=8bit)
byte 1byte
short 2byte
int 4byte
long 8byte
浮点型
浮点型默认为double
float 4byte
double 8byte
字符型 char 2byte
布尔型 boolean 1btye
引用数据类型
变量存储的值是另一端内存空间地址
数组 int[] arr = new int[25]
对象实例 String name = "desk";
高精度计算,商业货币计算中常用
java.math.BigDecimail
java.math.BigInteger
强制类型转换会高位截断
浮点型转换为整型先是小数截断,如果长度还是长,再发生高位截断
4.三种注释类型
String name = "zhangsan"; //这是行内注释
/*
这是多行注释
*/
String nation = "china";
/**
这是文档型注释,可以导出为文档
*/
String sex = "male";
5.变量
当我们要使用内存空间时,就需要定义变量。
变量有三个要素:变量类型,变量值(内存空间地址),存储的值(变量值)
常量(字面量,自定义常量)
1.整数常量
2.小数常量
3.布尔常量
4.字符常量
5.字符串常量
6.null常量
6.变量名,类名,方法名(标识符)的命令规则
在java里使用驼峰命令法则:单词的首字母大写
7. 示例
@Test
/**
* java.math.BigDecimal的使用
*/
public void test() {
BigDecimal bd1 = new BigDecimal("0.000000005");
bd1 = bd1.multiply(bd1);
bd1 = bd1.multiply(bd1);
bd1 = bd1.multiply(bd1);
bd1 = bd1.multiply(bd1);
bd1 = bd1.multiply(bd1);
bd1 = bd1.multiply(bd1);
// 结果 bd1: 5.42101086242752217003726400434970855712890625E-532
System.out.println("bd1: " + bd1);
}
@Test
public void test2() {
double d1 = 0.000000005;
d1 *= d1;
d1 *= d1;
d1 *= d1;
d1 *= d1;
d1 *= d1;
d1 *= d1;
//结果 d1: 0.0
System.out.println("d1: " + d1);
}
@Test
// 类型转换的问题
public void test3() {
int a1 = 1;
char chr = 'd'; // 100
byte bt1 = 100;
// 先运算再赋值时要注意,运算的结果类型是否与要赋值的类型一致
// 这里如果1没有表明是long类型的,就会把右边这个表达式先做事整型的运算,然后再赋值给变量,这样就会得到如下结果
// res1 : -2147483447
// res2 : -2147483447
// max int: -2147483648
long lon = Integer.MAX_VALUE + 1L;
// 类型自动转换: 低->高
// 算术运算默认是整型
long res1 = a1 + chr + bt1 + lon;
// 在表达式中lon的类型为long类型,如果结果不是long类型,那么应当将long类型强制转型为结果类型
// lon高位截断
int res2 = a1 + chr + bt1 + (int)lon;
System.out.println("res1 : " + res1); //res1 : 2147483849
System.out.println("res2 : " + res2); //res2 : -2147483447
System.out.println("max int: " + Integer.MIN_VALUE); //max int: -2147483648
}