常见CMD命令:盘符名称+冒号(盘符切换)
dir(查看当前目录下的内容,包括隐藏内容)
cd+空格+目录(进入单级目录)
cd..(回退到上一级目录)
cd+空格+\+目录1+\目录2+......(进入多级目录)
cd+\(回退到盘符目录)
cls(清屏)
exit(退出命令提示符窗口)
利用CMD打开软件:将软件添加在环境变量中的PATH目录中
JDK(Java开发工具包):JVM(Java虚拟机,真正运行Java程序的地方)
核心类库(Java已经写好的东西,可以直接使用)
开发工具(Javac编译工具、Java运行工具、jdb调试工具、jhat内存分析工具等)
JRE(Java的运行环境):JVA(Java虚拟机,真正运行Java程序的地方)
核心类库
运行工具
JDK包含了JRE,JRE包含了JVM
关键字(被Java赋予了特定含义的英文单词):
class(用于(创建/定义)一个类,类是Java最基本的组成单元)
字面量(告诉程序员数据在程序中的书写格式):
字面量类型:整数类型(不带小数点的数字)
小数类型(带小数点的数字)
字符串类型(用双引号括起来的内容)
字符类型(用单引号括起来的,内容只有一个)
布尔类型(布尔值,表示真假):true/false
空类型(一个特殊的值,空值):null(不能直接打印,只能用字符串的形式进行打印)
特殊字符:\t(制表符,在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍,最少补一个空格,最多补8个空格)
变量的定义格式:数据类型+空格+变量名=数据值
二进制
逢二进一
例:0 0;1 1;2 10; 3 11; 4 100(左边为十进制)
常见的进制(以及Java中的书写方式,不区分大小写)
二进制(代码中以0b为开头)
八进制(不加前缀)
十进制(代码中以0为开头)
十六进制(以0x为开头):1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (十进制)
1 2 3 4 5 6 7 8 9 a b c d e f(十六进制)
任意进制转十进制
二进制快速转换法
十进制转其它进制(除基取余法即短除法)
光学三原色:红 绿 蓝(取值范围0~255)
数字(直接存储)
字母和汉字等文字(在对应的码表里面查找)
图片(通过每一个像素点的RGB三原色存储)
声音(对声音的波形图样进行采样再存储)
采样点越多,声音还原度越高
数据类型
基本数据类型:整数:1.byte
2.short
3.int(默认)
4.long
浮点数:1.float
2.double(默认)
字符:char
布尔:boolean
同一数据类型有不同关键字是因为取值范围不同
在通常情况下,如果Java中出现了一个整数数字,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后面加上大写的B,同样short需加S,L表示long类型,表示int什么都不需要加(CSDN解释)
如果要表示long类型,一定要在数据后面加L
然而,根据Java语言规范,字面值后缀是可选的,特定类型的字面值可以根据上下文自动推断出来。例如,整数字面值默认为int类型,如果没有超出int类型的范围,则无需使用后缀。同样地,长整型字面值可以使用大写的L或小写的l后缀来表示,但如果没有后缀,编译器也会将其识别为long类型。(ChatGpt解释)
取值范围大小比较:double>float>long>int>short>byte
引用数据类型
定义变量
定义字符串用String
标识符
给类,方法,变量等起的名字
标识符命名规则(硬性规则):1.由数字,字母,下划线(_)和美元符号($)组成
2.不能以数字开头
3.不能是关键字
4.区分大小写
软性建议:
小驼峰命名法(方法和变量):1.标识符是一个单词的时候,全部小写
2.标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
大驼峰命名法(类名):1.标识符是一个单词的时候,首字母大写
2.标识符由多个单词组成的时候,每个单词的首字母大写
键盘录入
步骤一:导包...Scanner这个类在哪
步骤二:创建对象...表示我要开始用Scanner这个类了
步骤三:接收数据...真正开始干活了
import java.util.Scanner; //导包,找到Scanner这个类在哪 注意:写在类定义上面
public class jianru
{
public static void main(String[]args)
{
Scanner as=new Scanner(System.in); //创建对象表示我现在准备要用Scanner这个类
System.out.println("qingshuruyigeshuzi");
int number1=as.nextInt(); //接收数据,变量number1记录了键盘录入的数据
System.out.println("qingzaishuruyigeshuzi");
int number2=as.nextInt();
System.out.println(number1+number2);
}
}
IDEA结构介绍
一,(project)项目
二,(module)模块
三,(package)包
四,(class)类
类才是编写代码的地方,要编写代码一定要新建这四层结构
运算符
运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来,符合Java语法的式子
在进行计算时有小数参与有时候计算的结果不准确,例:
public class suanshuyusuanfu{
public static void main(String[]args){
System.out.println(1.1+1.01); //结果为2.1100000000000003
//但有时候是准确的
System.out.println(1.1+1.2); //结果为2.3
}
}
数值拆分
公式总结:个位:数值%10
十位:数值/10%10
百位:数值/100%10
千位:数值/1000%10
......
隐式转换和强制转换
数字进行运算时,数据类型不一样的不能运算,需要转成一样的才能运算
隐式转换(自动类型提升):把取值范围小的转成取值范围大的
取值范围从小到大:byte,short,int,long,float,double
强制转换:把取值范围大的转成取值范围小的
隐式转换的两种提升规则:
1.取值范围小的,和取值范围大的进行运算 ,小的会先提升为大的,再进行运算
2.byte,short,char三种类型地数据在运算的时候,都会直接先提升为int,然后再进行运算
强制转换:如果把一个取值范围大的数值,赋值给取值范围小的变量,不允许直接赋值,需要加入强制转换
格式:目标数据类型 变量名=(目标数据类型)被强转的数据
字符串相加
1.当“+”操作中出现字符串时,这个“+”是字符串连接符,二不是算数运算符,会将前后的数据进行拼接,并产生一个新的字符串
2.连续进行“+”操作时从左到右逐个执行:例:1+99+“年黑马” 结果为100年黑马
字符拼接
字符+字符以及字符+数字通过ASCLL表查询后进行计算
自增自减运算
++,加一
--,减一
b=a++,先用后加
b=++a,先加后用
--同上
package suanshuyusuanfu;
import java.util.Scanner;
public class zizengzijian1 {
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
int y=x++;
int z=++x;
System.out.println("x:" + x);
System.out.println("y:" + y);
System.out.println("z:" + z);
}
}
赋值运算符
注意:+= -+ *= /= %= 底层都隐藏了一个强制类型转换
package suanshuyusuanfu;
public class fuzhiyusuanfu {
public static void main(String[]args){
int a = 10;
int b = 20;
a +=b; //a+b,结果赋值给a
System.out.println(a);
System.out.println(b);
short s =1;
s +=1; //强制转换
System.out.println(s);
}
}
关系运算符注意
关系运算符的结果都是boolean类型,要么是true,要么是false
不要把==写成=
逻辑运算符
短路运算符
运算结果和单个的&以及|相同,但具有短路效果,即左边可以确定结果,右边不参与计算
|| 左边为true,右边不管是真是假,整个表达式结果一定是true
&& 左边为false,右边不管是真是假,整个表达式结果一定是false
最常用的逻辑运算符 && || !