时间安排:
朱祥祥
会议号:417 523 3263
服务器:doc.canglaoshi.org
jdk下载:https://repo.huaweicloud.com/java/jdk/
jdk配置环境变量
检测命令:
(1)win+r,输入cmd,回车
(2)java
(3)javac
需要配置:win+s,输入环境变量
配置JAVA_HOME(系统变量)
配置Path,新建,%JAVA_HOME%\bin
(4)java -version 查看jdk版本
一、数据类型
1、基本数据类型
(1)整型:默认是int
byte,存储范围:-128~127
short,存储范围:-32768~32767
int,存储范围:-2147483648~2147483647
long,超过int的存储范围,需要加后缀L(l)
(2)浮点型:默认是double
float,需要加后缀F(l)
double
(3)布尔型:只能是true或者是false
boolean
(4)字符型:只能存储一个汉字或者一个英文字母或者是一个数字
char
package cn.com;
/**
* 数据类型-基本数据类型
*
*/
public class Test2 {
public static void main(String[] args) {
//测试byte存储范围(-128~127)
//定义变量格式:变量的类型 变量的名字 = 变量的值;
byte a = -113;
//变量名在方法里不能重复
short s1 = 32767;
System.out.println("s1修改之前的值" + s1);
s1 = -32767;
System.out.println("s1修改之后的值" + s1);
//测试long
long L1 = 2147483647;
System.out.println(L1);
L1 = 2147483648L;
System.out.println(L1);
//测试float和double
float f1 = 3.0F;
System.out.println(f1);
double d1 = 4.0;
System.out.println(d1);
//测试boolean
boolean b1 = true;
System.out.println(b1);
b1 = false;
System.out.println(b1);
//测试char
char c1 = '达';
System.out.println(c1);
//c1 = '达内'; //只能存储一个中文汉字
c1 = 'A';
System.out.println(c1);
c1 = 32768;//ascii码表 A65 B66 A97 b98
System.out.println(c1);
}
}
类型从大到小排序:
double > float > long > int > short > byte
类型转换规则:
大给小:需要强制转换(显式转换),强制转换可能会出现精度丢失问题
小给大:自动类型转换(隐式转换)
package cn.com;
/**
* 基本数据类型转换
* double > float > long > int > short > byte
*/
public class Test3 {
public static void main(String[] args) {
//大给小,需要强转转换
byte b1 = 10;
short s1 = 20;
//byte = (强转的类型)short
//强转的类型必须要和左边的的类型相等或者比左边的类型小
b1 = (byte)s1;
int i1 = 500;//小
long L1 = 200;//大
i1 = (short)L1;
//小给大
double d1 = 20.5;
float f1 = -18.5F;
d1 = f1;//大 = 小
//测试
short s2 = (short)50025;//小 = 大
System.out.println(s2);
}
}
2、引用类型(除了基本数据类型以外的)
二、运算符
1、算术运算符:+、-、、/、%(取模)、++、–
+、-、、/ 运算符进行运算时,可能会出现精度丢失的问题
package cn.com;
/**
* 运算符-算术运算符
*/
public class Test4 {
public static void main(String[] args) {
//1、+
float f1 = 3.0F;
double d1 = 4.0;
System.out.println(f1+d1);
short s1 = 80;
System.out.println("小明这次的周考成绩是:"+s1+"分");
//2、-
double d2 = 15.0;
double d3 = 8.3;
System.out.println(d2-d3);
//3、%(取模:求余数)
byte b1 = 5;
byte b2 = 3;
//大取小,求余数
System.out.println(b1%b2);
//小取大,直接得到最小的那个数
System.out.println(3%5);
//4、++
//(1)++前
int i1 = 10;
//++i1;//<=> i1=i1+1
System.out.println(++i1);//先运算,再赋值 //11
System.out.println(i1);//11
//(2)后++
int i2 = 10;
//i2++;//<=> i2=i2+1
System.out.println(i2++);//先赋值,再运算 //10
System.out.println(i2);//11
//5、--
int i5 = 0;
int i6 = 0;
int i3 = 20;
//先运算,再赋值
//--i3; //<=> i3=i3-1; --i3=i3-1;
i5 = --i3;
System.out.println(i5);//19
System.out.println(i3);//19
int i4 = 20;
//先赋值,再运算
//i4--; //<=> i4=i4-1; i4--=i4; i4=i4-1
i6 = i4--;
System.out.println(i6);//20
System.out.println(i4);//19
}
}
2、赋值运算符:=、+=、-=、*=、/=、%=
package cn.com;
/**
* 运算符-赋值运算符
* =、+=、-=、*=、/=、%=
*/
public class Test5 {
public static void main(String[] args) {
byte b1 = 10;
byte b2 = 20;
b1+=b2;//<=>b1=b1+b2;
System.out.println(b1);//30
b1-=b2;//<=>b1=b1-b2;
System.out.println(b1);//10
b2%=b1;//<=>b2=b2%b1;
System.out.println(b2);//0
}
}
3、关系运算符:>、<、>=、<=、==、!=
package cn.com;
/**
* 运算符-关系运算符
* >、<、>=、<=、==、!=
*/
public class Test6 {
public static void main(String[] args) {
int i1,i2,i3,i4,i5,i6;
i1 = 10;
i2 = 20;
i3 = 35;
i4 = 40;
i5 = 55;
i6 = 70;
System.out.println(i3>i1);//true
System.out.println(i4<=i6);//true
System.out.println(i2==i5);//false
i1+=10;
System.out.println(i1!=i2);//false
}
}
4、逻辑运算符:&&(与)、||(或)、!(非)
package cn.com;
/**
* 运算符-逻辑运算符
* &&(与)、||(或)、!(非)
* && 两边都为true,结果才为true,如果有一个为false,结果则为false
*
* || 两边只要有一个为true,则为true,如果都是false,结果才是false
*
* ! 取反
*/
public class Test7 {
public static void main(String[] args) {
int i1,i2,i3,i4;
boolean b1,b2;
i1 = 15;
i2 = 25;
i3 = -18;
i4 = 99;
//true && false
b1 = (i1>i3) && (i1>i4);//false
//false && true
b2 = (i2>i4) || (i2>i1);//true
System.out.println(b1);
System.out.println(b2);
System.out.println(!b1);//true
b2=!b1;
System.out.println(b2);//true
}
}
5、条件运算符(三元或者三目):
A?a:b;
如果A为true,则走a,如果A为false,则走b
package cn.com;
/**
* 运算符-三元运算符
*/
public class Test8 {
public static void main(String[] args) {
int b2,b3;
b2 = 10;
b3 = 20;
//A>B?a:b;
String s1 = b2>b3?"b2的值大":"b3的值大";
System.out.println(s1);
}
}
作业:
一、交换两个变量的值
编写步骤:
- 定义类Homework6
- 定义 main方法
- 定义两个整数变量a,b并赋值
- 控制台输出变量a,b互换前的值
- 定义一个第三方变量temp
- 利用第三方变量temp使a,b的值互换
- 控制台输出变量a,b互换后的值
二、
编写步骤:
- 定义类 Homework7
- 定义 main方法
- 定义2个int类型变量x、y,x赋值为100,y赋值为200
- 定义新变量add,保存变量x,y的和并打印到控制台
- 定义新变量sub,保存变量x,y的差并打印到控制台
- 定义新变量mul,保存变量x,y的积并打印到控制台
- 定义新变量div,保存变量x,y的商并打印到控制台
三、
编写步骤:
- 定义类 Homework8
- 定义 main方法
- 定义2个double类型变量x、y,x赋值为100.8,y赋值为20.6
- 定义新变量add,保存变量x,y的和并打印到控制台
- 定义新变量sub,保存变量x,y的差并打印到控制台
- 定义新变量mul,保存变量x,y的积并打印到控制台
- 定义新变量div,保存变量x,y的商并打印到控制台
四、 强制类型转换练习
(1)先声明两个byte类型的变量b1,b2,并分别赋值为10和20,求b1和b2变量的和,并将结果保存在byte类型的变量b3中,最后输出b3变量的值
(2)先声明两个short类型的变量s1,s2,并分别赋值为1000和2000,求s1和s2变量的和,并将结果保存在short类型的变量s3中,最后输出s3变量的值
(3)先声明1个char类型的变量c1赋值为’a’,再声明一个int类型的变量num赋值为5,求c1和num变量的和,并将结果将结果保存在char类型的变量letter中,最后输出letter变量的值。
(4)先声明两个int类型的变量i1,i2,并分别赋值5和2,求i1和i2的商,并将结果保存在double类型的变量result中,最后输出result变量的值。如何得到结果2.5呢?
五、
- 定义两个int类型变量a1和a2,分别赋值10,11,判断变量是否为偶数,拼接输出结果
- 定义两个int类型变量a3和a4,分别赋值12,13,判断变量是否为奇数,拼接输出结果