Java--0基础入门篇
day-1
jvm–java虚拟机,实现java跨平台
jre–java运行环境,包含jvm
jdk–java开发工具–包含jre
// public:在此处用于限定类名与文件名要一样
// class:定义一个类
// HelloWorld:类名
public class HelloWorld{// public:范围修饰符// static:静态的// void:代表没有返回值// main:方法名// String[] args:参数列表// 该方法为java程序的主方法,一个类里只能有一个主方法,但不是必须的public static void main(String[] args){//输出打印语句,括号里些什么就输出什么System.out.println("HelloWOrld");}
}
安装JDK
JDK11官网下载地址
下载成功后,双击运行安装包,一路下一步直至完成。如不想安装在c盘,就自行选择安装目录,安装目录不能出现中文字符,默认安装在C:\Program Files\Java路径下。
复制路径:C:\Program Files\Java\jdk-11
在系统搜索框中搜索path
没有找到的,1.设置–系统–系统信息–高级系统设置 2.此电脑–右键–属性–高级系统设置
新建系统变量:JAVA_HOME,值为C:\Program Files\Java\jdk-11
在系统变量中找到path,双击进入编辑,新增:%JAVA_HOME%\bin
验证
至此jdk安装配置完成。
jdk提供了两个非常重要的命令,java和javac
新建HelloWorld.txt文件,后缀改为java(HelloWorld.java)
将开头的那段代码复制,文件名和类名保持一致
保存,关闭文件
在文件所在目录下打开cmd
javac HelloWorld.java
java HelloWorld
运行成功,打印输出HelloWorld
好了,你已经运行成功你的第一个java程序了,接下来安装ideaidea安装教程
使用idea创建第一个Java项目
基础语法
- 注释–对代码的解释说明,不参与编译与运行
- 单行注释 //注释内容
- 多行注释 /注释内容/
- 文档注释 /*注释内容/
- 关键字
特点:
①完全是小写的字母
②常见的开发软件中会有特殊颜色标识 - 常量/字面量–在程序运行过程中,固定不变的量
分类 | 值 |
---|---|
整数常量 | 1 2 100 -1等 |
小数(浮点数) | 1.0 -1.1等 |
字符常量(有且仅有一个字符) | ‘1’ ‘,’ ‘你’ ‘a’ 等 |
字符串常量 | “你好” " " "a"等 |
布尔常量 | true false |
空常量 | null |
- 变量–程序运行期间,其值可以发生改变的量,一般是用来存储一些数据
- 数据类型–分为基本数据类型和引用数据类型
类型 | 解释 | 符号 | 大小(bit) |
---|---|---|---|
整数 | 字节型 | byte | 1 |
短整型 | short | 2 | |
整型 | int | 4 | |
长整型 | long | 8 | |
浮点型 | 单精度 | float | 4 |
双精度 | double | 8 | |
字符型 | char | 2 | |
布尔型 | boolean | 1 |
- 标识符–变量,方法或者类取的名字
①标识符可以包含英文大小写字母,数字,$和_ 中文也可以(不要用中文)
②不能以数字开头
③不能是关键字
day-2
类型转换
自动转换
1.概念:由小的数据类型提升为大的数据类型,系统自动完成的
2.规则:数据范围从小到大 byte/short/char --> int --> long --> float – > double
3.整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。强制转换
1.概念:由大的数据类型转为小的数据类型,系统不能自动完成
2.格式: 目标类型 变量名 = (目标类型)被转换的数据;
3.注意事项:强制类型转换一般不推荐使用,因为可能会发生精度损失,数据溢出
运算符
|/||:逻辑或,两边都为假时,结果为假
&/&&:逻辑与,两边都为真时,结果为真
|和||的区别:|左边的表达式为真时,右边的式子不予运行,||两边的表达式都会运行。&和&&同理
还有一个’!':取反,!true = false,!false = true
System.out.println(7 > 5 & 5 > 4);//true & true--->true
System.out.println(7 < 5 & 5 < 4);//false & false--->false
System.out.println(7 < 5 & 5 > 4);//false & true--->false
System.out.println(7 > 5 & 5 < 4);//true & false-->false
System.out.println(7 > 5 | 5 > 4);//true | true--->true
System.out.println(7 < 5 | 5 < 4);//false | false--->false
System.out.println(7 < 5 | 5 > 4);//false | true--true
System.out.println(7 > 5 | 5 < 4);//true | false-true
System.out.println(!true);//false
System.out.println(!false);//true
System.out.println(!(5 < 4));//true
System.out.println(7 > 5 ^ 5 > 4);//true ^ true>false
System.out.println(7 < 5 ^ 5 < 4);//false ^ false->false
System.out.println(7 < 5 ^ 5 > 4);//false ^ true-true
System.out.println(7 > 5 ^ 5 < 4);//true ^ false->true
分支语句
switch (普通表达式) {
case 值1:
语句体1;
break; case 值2:
语句体2;
break; case 值3:
语句体3;
break; … default:
语句体n+1;
break; // 最后一个break语句可以省略,但是强烈推荐不要省略 }执行流程: 看表达式的结果和哪个case后面的值相同,就执行那个case后面的语句体,碰到break就结束switch.
如果没有符合要求的case则执行default后面的语句体.注意事项:
①switch后面小括号当中只能是下列数据类型:基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举②switch可以没有default,但是一般都会加上
③case语句后面可以不加break.但是如果不加break就会出现case穿透问题.匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止;
循环
for(初始化语句;比较表达式;步进语句){ 循环体; }
注意事项:for循环的变量在小括号当中定义,只有循环内部才可以使用。
格式:
for (int i = 初始值; i < 末值 ; i++) {
//循环体
}
初始化语句; while(比较表达式){ 循环体; }
看判断表达式的结果,如果为false循环结束,如果为true,则执行循环体.循环体执行完后继续看判断表达式的结果以此类推
格式:
while (循环条件){
//循环体
}
初始化语句; do{ 循环体; }while(比较表达式);
先执行循环体,然后看判断表达式的结果如果为true则继续执行循环体如果判断表达式的结果为false则循环结束,如此反复。
格式:
do{
//循环体
}while(循环条件)
1、for循环和while循环的区别
for循环的特点:初始化表达式只在当前的循环范围内有效。出了循环的大括号以外,就无法使用了(tips:for循环的初始化表达式,也可以定义在外面)while循环的特点:初始化表达式是定义在循环的外面。出了循环也可以继续使用。
2.do-while循环和for、while循环的区别
do-while循环会至少先执行一遍循环体。然后再做条件判断而for、while循环都是先判断条件。如果条件满足才执行循环体。如果条件不满足,就直接结束循环
3.使用场景
一般在循环次数确定的时候,推荐使用for循环一般在循环次数不确定的时候,推荐使用while循环do-while循环很少很少会用到
break用于结束循环,只能出现在循环中或者switch中,continue跳过本次循环,继续下次循环
假如不知道循环结束的条件(死循环如何跳出)
1.标号
lo:while (true){System.out.println("循环");break lo;
}
2.System.exit(0)–等价于停止运行程序,用这个不仅结束了循环,也结束了程序,也就是循环后面写的代码都不执行了。而标号形式的结束循环依然可以继续执行后续代码。
while (true){System.out.println("循环");System.exit(0);
}
键盘录入
//格式:Scanner 变量名= new Scanner(System.in);
System.out.println("请输入一个数字:");
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.nextInt());
生成随机数
获取一个范围在1-10之间的随机数(包含10) r.nextInt(10)+1;
获取一个范围在1-100之间的随机数(包含100) r.nextInt(100)+1;
获取一个范围在20-80之间的随机数(包含80) r.nextInt(61)+20;
Random random = new Random();
int x = random.nextInt(100);//[0-100]之间的随机数
猜数字小游戏
public class Demo04 {public static void main(String[] args) {// 程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?Random random = new Random();int x = random.nextInt(100);//System.out.println(x);lo:while (true) {System.out.println("请输入你猜想的数字:");Scanner sc = new Scanner(System.in);int i = sc.nextInt();if (i > x) {System.out.print("比目标数字大~");} else if (i < x) {System.out.print("比目标数字小~");} else if (i == x) {System.out.print("恭喜你猜对啦");break lo;}}}
}