这里是怂怂土的java学习笔记,学习视频链接在下方,点击跳转即可
一、基础知识
1、常用DOS命令
win+r 输入 cmd
操作 | 说明 |
---|---|
盘符名称: | 盘符切换。如:E:回车,表示切换到E盘 |
dir | 查看当前路径下的内容 |
cd 目录 | 进入单极目录 |
cd … | 回退到上一级目录 |
cd 目录1\目录2… | 进入多级目录 |
cd \ | 回退到盘符目录 |
cls | 清屏 |
exit | 退出命令提示符窗口 |
2、Path环境变量的配置
高级系统设置中
Path中新建 %JAVA_HOME%bin
3、cmd命令运行
HelloWorld.java
常见问题
1、英文符号
2、System大小写
注释
// 单行
/**/
notedpad ++ 写java 设置
4、基础语法
1、关键字
关键字的字母全部
小写
2、常量
字符串(双引号括起来的)、整数、小数、字符(单引号括起来的)、布尔、空(null)
⭐注意:空常量不能直接输出
SysSystem.out.println(null)
3、数据类型
内存占用和取值范围
4、变量
定义变量格式:数据类型 变量名 = 变量值
eg: int a = 10;
修改变量
eg:a = 20;
⭐注意:1、变量名字不能重复
2、变量需要赋值,否则不能使用
3、定义long类型的变量,long c = 1000000000000000L; (会默认int类型,为了防止整数过大,在后面加上L就好了)
定义float类型变量的时候,为了防止类型不能兼容,后面要加F
5、标识符
👉由数字、字母、下划线_、美元符$组成
不能以数字开头
不能是关键字
区分大小写
常见命名约定
1、小驼峰命名法——方法、变量
1、标识符是一个单词的时候,首字母小写 eg:name
2、标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写 eg:firstName
2、大驼峰命名法——类
1、标识符是一个单词的时候,首字母大写 Student
2、标识符由多个单词组成的时候,每个单词的首字母大写 GoodStudent
6、类型转换
1、自动类型转换
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量
eg:double d = 10;
public class ConversionDemo{
public static void main(String[] args){
double d = 10;
System.out.println(d); // 输出:10.0
byte b = 10;
short s = b;
int i = b;
// byte 到 char 不行 , 类型不兼容
// char e = b;
// 强制类型转换
int k = (int)88.88;
System.out.println(k); // 输出: 88
}
}
2、强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
格式:目标数据类型 变量名 = (目标数据类型) 值/变量;
范例:int k = (int)88.88;
5、运算符
1、算术运算符 + – * / %
public class OperatorDemo{
public static void main(String[] args){
// 定义两个变量
int a = 6;
int b = 4;
System.out.println(a + b); // 10
System.out.println(a - b); // 2
System.out.println(a * b); // 24
System.out.println(a / b); // 1
System.out.println(a % b); // 2
// 整数相除只能得到整数,要想得到小数,必须有浮点数的参与
System.out.println(6.0/4); // 1.5
// 字符的“+”操作
int i = 10;
char c = 'A';
System.out.println(i+c); // 75
}
}
2、赋值运算符 = += -= *= /= %=
注意:扩展的运算符隐含了强制类型转换
int i = 10;
i += 20;
short a = 10;
s = (short)(s + 20); // 需要手动添加强制转换
3、自增自减运算符 ++ –
跟c一样🐎 i++ ++i
4、关系运算符 == != > >= < <= (结果True or False)
5、逻辑运算符 &(与) |(或) ^(异或:同则False,异则True) ! (非)
java 中不能写 3 < x < 6 ——> x > 3 && x < 6
逻辑与&、非|
* ——>无论左边真假,右边都要执行
短路逻辑运算符:&&(遇0短路,结果为0) ||(遇1短路,结果为1)
6、三元运算符 关系表达式 ? 表示式1:表达式2;
6、数据输入
1、Scanner使用的基本步骤
1、导包
import java.util.Scanner; // 导包的动作必须出现在类定义的上边
2、创建对象
Scanner sc = new Scanner(System.in); // 这里只有sc是变量名,可以变,其他的都不允许变
3、接受数据
int i = sc.nextInt(); // 这里只有i是变量名,可以变,其他的不允许变
案例:三个和尚(数据输入+三元运算符)
import java.util.Scanner;
public class ScannerTest{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个和尚的身高:(单位:厘米)");
int height1 = sc.nextInt();
System.out.println("请输入第二个和尚的身高:(单位:厘米)");
int height2 = sc.nextInt();
System.out.println("请输入第三个和尚的身高:(单位:厘米)");
int height3 = sc.nextInt();
int tempHeight = height1 > height2 ? height1 : height2;
int maxHeight = tempHeight > height3 ? tempHeight : height3;
System.out.println("这三个和尚中身高最高的是:" + maxHeight + "cm");
}
}
7、流程控制
1、顺序
1、if 语句
1、if (关系表达式){
语句体;
}
2、if(关系表达式){
语句体1;
}else{
语句体2;
}
3、if(关系表达式){
语句体1;
}else if(关系表示式){
语句体2;
}else{
语句体3;
}
2、swith语句
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
……
default:
语句体n+1;
[break;] // 这里的break可省略
}
case穿透现象
switch(month){
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("冬季");
break;
case 6:
case 7:
case 8:
System.out.println("冬季");
break;
case 9:
case 10:
case 11:
System.out.println("冬季");
break;
default:
System.out.println("您输入的月份有误!");
}
2、循环
1、for循环2
for (初始语句;条件判断语句;条件控制语句){
循环体语句;
} // 跟c差不多🐎
🐅 🦁 🐒 🐇 🐦 🐥 🦆 🐘
好多知识点都一样一样哒
🐍 🐀 🐂 🐉 🐎 🐏 🐕 🐖 ✍ 👍
案例:水仙花—— 三位数的个位、十位、百位的数字的立方和等于原数(for循环+if判断)
public class HelloWorld{
public static void main(String[] args){
for (int i=100; i< 1000; i++){
// 在计算之前获取三位数中每个位上的值
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 10 / 10 % 10;
// 判断条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等
if (ge*ge*ge + shi*shi*shi + bai*bai*bai == i)
System.out.println(i);
}
}
}
// 输出:
153
370
371
407
while循环
初始化语句;
while (条件判断语句){
循环体语句;
条件控制语句;
}
int i = 1;
while(i<=5){
System.out.println("hello world");
j++;
}
do…while循环
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
int i = 1;
do{
System.out.println("hello world");
j++;
}while(i <= 5);
三种循环的区别
4、跳转控制语句
continue break
5、循环嵌套
补充:语句结构
-
顺序语句:以分号结尾,表示一句话的结束 -
分支语句:一对大括号表示if或switch的整体结构 -
循环语句:一对大括号表示for和while的整体结构
分支语句中包含分支语句——分支嵌套
循环语句中包含循环语句——循环嵌套
6、Random
作用:产生一个随机数
1、导包
import java.util.Random;
2、创建对象
Random r = new Random();
3、int number= r.nextInt(10); // 获取数据的范围:[0,10)包括0,不包括10
eg:1-100
int num = r.nextInt(100)+1;
案例:猜数字(Scanner、Random、while循环、if语句)
import java.util.Random;
import java.util.Scanner;
public class test1{
public static void main(String[] args){
Random r = new Random();
int number = r.nextInt(100)+1;
while(true){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数字:");
int guessNumber = sc.nextInt();
if (guessNumber > number){
System.out.println("很遗憾,你猜的数字大了");
}else if(guessNumber < number){
System.out.println("很遗憾,你猜的数字小了");
}else{
System.out.println("恭喜你猜中啦");
break;
}
}
}
}