20220713 第二组 刘世琦 学习记录
JAVA
(今日知识)
-
1. Java概述(掌握)
-
1.1 Java的历史
-
1.2 内存
-
1.3 JRE和JDK
-
1.4 JDK的下载和安装
-
1.4.1 下载
-
1.4.2 安装
-
1.4.3 JDK的安装目录介绍
-
1.4.4 Java环境搭建
-
-
1.5 二进制
-
1.6 Java的特点
-
2.Java基本知识(掌握)
-
2.1 常用DOS命令
-
2.2 什么是类
-
2.3 命名规则
-
2.3 Hello2022案例
-
2.3.1 Java程序开发运行流程
-
2.3.2 Hello2022案例的编写
-
2.3.3 Hello2022案例的编译和运行
-
-
2.5 Notepad++软件的安装和使用
-
3. Java基础语法(掌握)
-
3.1 注释
-
3.2 关键字
-
3.3 常量
-
3.4 数据类型
- 3.4.1 Java中的数据类型
-
3.5 变量
-
3.5.1 变量的定义
-
3.5.2 使用变量时的注意事项
-
-
3.6 标识符
-
3.7 类型转换
-
4. 运算符(运用不熟练)
-
4.1 算术运算符
- 4.1.1 运算符和表达式
- 4.1.2 算术运算符
- 4.1.3 字符的“+”操作
- 4.1.4 字符串的“+”操作
-
4.2 赋值运算符
-
4.3 自增自减运算符
-
4.4 关系运算符
-
4.5 逻辑运算符
-
4.6 位运算符
-
4.7 三元运算符
-
4.8 char的特殊性
1. Java概述(掌握)
-
1.1 Java的历史
1.Java语言,半解释半编译
·解释:JS:浏览器可以直接运行JS,不需要翻译
·编译(写完的代码计算机不能直接运行,需要翻译一下):Java,Scala。hello .java是以10进制为单位写的文件,计算机只认二进制(0 1)。需要有一个翻译,将java文件翻译给计算机。
- 1.2 内存
物理内存、虚拟内存
操作系统:会操作一些基本的指令(cmd指令)
(1)打开指令控制台 win+R
(2)输入盘符: 直接切换到目标的盘
(3)cd..返回上一级目录
(4)进入指定的目录 cd a
(5)dir指令查看当前目录下的文件夹信息
(6)创建一个空文件 copy null a.txt(创建一个空文件叫a.txt)
(7)向文件内写入内容 echo 123456>a.txt(把123456写入到a.txt文件中)
(8)复制文件 copy a.txt b.txt(把a.txt文件里的内容复制到b.txt里)
(9)删除文件 copy a.txt b.txt(该删除指令不走回收站)
-
1.3 JRE和JDK
在我们去配置环境变量的时候,实际上相当于在系统上去搭建了一台虚拟机
·JDK:java developer kit——java开发工具包
·JRE:java runtime environment——java运行环境,如果只需要运行,不需要开发,可以只安装JRE。
·JVM:java virtual machine——java虚拟机
-
1.4 JDK的下载和安装
-
1.4.1 下载
通过官方网站获取JDK
http://www.oracle.com
- 1.4.2 安装
安装点击下一步即可。但默认的安装路径是在C:\Program Files下,修改安装路径,将与开发相关的软件都安装到一个目录下,例如:E:\Java\jdk。
注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。
-
1.4.3 JDK的安装目录介绍
-
1.4.4 Java环境搭建
-
1.5 二进制
存储单位:
1bit = 一位 ;
1byte = 8 bit;
1kb = 1024b;
1mb = 1024k;
1gb = 1024m;
1tb = 1024g;
1pb = 1024t
二进制的加减法计算
十进制是逢十进一,二进制逢二进一。十进制世界的最大数是9,二进制世界的最大数是1。
·10010011与10101001相加=100111100
十进制的1: 00000001
十进制的-1: 10000001 标注:第一位为符号位
八进制:逢八进一 十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f
- 1.6 Java的特点
(1)面向对象
(2)跨平台:平台就是操作系统,用Java写的软件可以在任意操作系统上运行,实现了平台的无关性
(3)和C比起来相对简单
(4)解释执行(半编译半解释) .java先变成.class,再解释执行.class
(5)多线程:多个任务同时进行
(6)分布式
(7)健壮性:强数据类型的语言,有异常处理和垃圾回收机制
(8)安全性:可以通过第三方的插件来设置一个安全防范机制
2.Java基本知识(掌握)
- 2.1 常用DOS命令
在接触集成开发环境之前,我们需要使用命令行窗口对java程序进行编译和运行,所以需要知道一些常用DOS命令。
1、打开命令行窗口的方式:win + r打开运行窗口,输入cmd,回车。
2、常用命令及其作用
- 2.2 什么是类
类:是Java开发中的一个最小的单位,一个Java开发的项目是由一堆类组成的class
- 2.3 命名规则
标识符的命名规则:
在开发中,只要是可以命名的东西,就叫标识符,类名就是标识符的一个
类名的命名规则:
只能由字母、数字、下划线、美元符号组成(数字不能开头,其他都可以开头;不建议使用$号;下划线尽量不要开头)只推荐使用英文字母和数字,大部分都是使用字母(英文单词)。
·驼峰式命名(大驼峰):如果这个类名由多个单词组成,每个单词的首字母大写 eg : StuNo
·代码要有缩进
- 2.3 Hello2022案例
- 2.3.1 Java程序开发运行流程
开发Java程序,需要三个步骤:编写程序,编译程序,运行程序。
- 2.3.2 Hello2022案例的编写
1、新建文本文档文件,修改名称为Hello.java。
2、用记事本打开Hello.java文件,输写程序内容。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello2022");
}
}
- 2.3.3 Hello2022案例的编译和运行
存文件,打开命令行窗口,将目录切换至java文件所在目录,编译java文件生成class文件,运行class文件。
编译:javac 文件名.java
执行:java 类名
显示:java Hello
- 2.5 Notepad++软件的安装和使用
Notepad++功能比windows中的记事本功能强大,纯文字说明文件,适合编写程序代码。Notepad++有行号,能够快速定位问题位置,还有语法高亮度显示、代码折叠等功能。
安装:一直下一步即可。安装到统一的开发软件目录下,比如E:\Java。
3. Java基础语法(掌握)
- 3.1 注释
注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。Java中的 注释分为三种:
单行注释:使用//,从//开始至本行结尾的文字将作为注释文字。快捷键 ctrl+/
// 这是单行注释
多行注释:使用/* 和 */将一段较长的注释括起来。快捷键 ctrl+shift+/
/*
这是多行注释
*/
文档注释: /** / 快捷键 输入/* + 回车
/**
*这是文档注释
*/
- 3.2 关键字
关键字是指被java语言赋予了特殊含义的单词。
关键字的特点:关键字的字母全部小写。
常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。
- 3.3 常量
常量:在程序运行过程中,其值不可以发生改变的量。
Java中的常量分类:
字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、“abc”、"中国"等
整数常量 整数,例如:-10、0、88等
小数常量 小数,例如:-5.5、1.0、88.88等
字符常量 用单引号括起来的一个字符,例如:‘a’、‘5’、‘B’等
布尔常量 布尔值,表示真假,只有两个值true和false
空常量 一个特殊的值,空值,值为null
除空常量外,其他常量均可使用输出语句直接输出。
public class Demo {
public static void main(String[] args) {
System.out.println(10); // 输出一个整数
System.out.println(5.5); // 输出一个小数
System.out.println('a'); // 输出一个字符
System.out.println(true); // 输出boolean值true
System.out.println("欢迎"); // 输出字符串
}
}
- 3.4.1 Java中的数据类型
2种:基本数据类型和引用数据类型
基本数据类型(关键字):4类8种,要求会读会写,知道意思
(1)整型 (要知道取值范围)
byte: 字节型 -128~127 (一共256个数,中间有个0,占1个字节-8位)
short:短整型 -2的15次方~2的15次方-1 (占2个字节-16位)
int:整型 -2的31次方~2的31次方-1 (占4个字节-32位)
long:长整型 -2的63次方~2的63次方-1 (占8个字节-64位)
(2)浮点型
float:单精度浮点型 (占4个字节-32位) 是小数
double:双精度浮点型(占8个字节-64位)是小数
(3)字符型
char:字符型 2个字节-16位
(4)布尔型 boolean true false 1个字节-8位
- 3.5 变量
- 3.5.1 变量的定义
变量:在程序运行过程中,其值可以发生改变的量。
从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。
- 3.5.2 使用变量
int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开
System.out.println(a);
System.out.println(b);
int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
c = 30;
d = 40;
System.out.println(c);
System.out.println(d);
注意事项:
在同一对花括号中,变量名不能重复。
变量在使用之前,必须初始化(赋值)。
整数默认是int类型,整数太大可能超出int范围。
浮点数的默认类型是double, double的取值范围是大于float的
- 3.6 标识符
标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。
Java中标识符的组成规则:
由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
不能使用java中的关键字作为标识符。
标识符对大小写敏感(区分大小写)。
Java中标识符的命名约定:
小驼峰式命名:变量名、方法名
首字母小写,从第二个单词开始每个单词的首字母大写。
大驼峰式命名:类名
每个单词的首字母都大写。
另外,标识符的命名最好可以做到见名知意
例如:username、studentNumber等。
- 3.7 类型转换
1.自动类型转换(自动类型提升)
·低精度和高精度做运算时,会自动类型提升
·低精度—>高精度 把byte的值给int
2.强制类型转换
·高精度—>低精度
4. 运算符(运用不熟练)
- 4.1 字符的“+”操作
char类型参与算术运算,使用的是计算机底层对应的十进制数值。
‘a’ – 97 a-z是连续的,所以’b’对应的数值是98,'c’是99,依次递加
‘A’ – 65 A-Z是连续的,所以’B’对应的数值是66,'C’是67,依次递加
‘0’ – 48 0-9是连续的,所以’1’对应的数值是49,'2’是50,依次递加
//
char ch1 = 'a';
System.out.println(ch1 + 1); // 输出98
char ch2 = 'A';
System.out.println(ch2 + 1); // 输出66
char ch3 = '0';
System.out.println(ch3 + 1); // 输出49
byte b1 = 10;
byte b2 = 20;
// byte b3 = b1 + b2; // 报错,因为byte类型参与算术运算会自动提示为int
int i3 = b1 + b2; // 使用int接收
byte b3 = (byte) (b1 + b2); // 将结果强制转换为byte类型
// -------------------------------
int num1 = 10;
double num2 = 20.0;
double num3 = num1 + num2; // 使用double接收,因为num1会自动为double类型
- 4.2 字符串的“+”操作
当“+”操作中出现字符串时,这个”+”是字符串连接符
System.out.println("itma"+ 666); // 输出:itma666
- 4.3 赋值运算符
+= -= *= /= %=
从计算结果来看,a += 1——>a = a + 1 (用的少)
赋值运算符可以进行数据类型的转换,包括a++也可以。
- 4.4 自增自减运算符
int i = 10;
i++; // 单独使用 System.out.println("i:" + i); // i:11
int j = 10;
++j; // 单独使用 System.out.println("j:" + j); // j:11
int x = 10;
int y = x++; // 赋值运算,使用x原来的值赋值给y,x本身自增1
System.out.println("x:" + x + ", y:" + y); // x:11,y:10
int m = 10;
int n = ++m; // 赋值运算,使用m自增后的值赋值给n,m本身自增1
System.out.println("m:" + m + ", m:" + m); // m:11,m:11
- 4.5 关系运算符
(> < >= <= == !=)
结果都是布尔类型,没有三等
- 4.6 逻辑运算符
(与(&&) 或(||) 非(!) 异或(^))
与:只有当所有条件都为true,整体的结果才是true;如果有一个为false,则整体即为false。
·双与(&&):当发现条件中,只要有一个false,则停止判断。 效率高
·单与(&):无论有多少个false,所有的条件都看。 效率低
或:只有当所有条件都为flase,整体的结果才是flase;如果有一个为true,则整体即为true。
·双或(||):当发现条件中,只要有一个true,则停止判断。 效率高
·单或(|):无论有多少个true,所有的条件都看。 效率低
非(!):取反
异或(^):有假有真即为真,全真全假即为假
int i = 10;
int j = 20;
int k = 30;
//只要表达式中有一个值为false,结果即为false
System.out.println(i > j && i> k); //输出false
System.out.println(i < j)&& i> k); //输出false
System.out.println(i > j && i< k); //输出false
System.out.println(i < j && i< k); //输出true
//只要表达式中有一个值为true,结果即为true
System.out.println((i > j) || (i> k)); //输出false
System.out.println((i < j) || (i> k)); //输出true
System.out.println((i > j) || (i< k)); //输出true
System.out.println((i < j) || (i< k)); //输出true
//^ “异或”,相同为false,不同为true
System.out.println((i > j) ^ (i > k)); //输出false
System.out.println((i < j) ^ (i > k)); //输出true
System.out.println((i > j) ^ (i < k)); //输出true
System.out.println((i < j) ^ (i < k)); //输出false
//! “非”,取反
System.out.println((i > j)); //false
System.out.println(!(i > j)); //输出true
- 4.7 位运算符
和二进制有关
- 4.8 三元运算符
关系表达式 ? 表达式1 : 表达式2;
·Java里的三元运算符要求:要求两个表达式的运行结果的数据类型是相同或可以自动转换成相同的数据类型。
- 4.9 char的特殊性
映射表 :ASCII码
字符型 abcdefg每一个字符在计算机保存时都是以ASCII码的形式
char类型是16位的,跟short是一样的,可以自动转换成int long float
当char自动转换成数值类型时,会对应着ASCII码去转换
把整数类型转换成char类型时,会对应着ASCII码去转换
由于char类型有这样的特殊性,开发中尽量不要用char
“+”有连接符的功能
总结:
今天学习了java的一些基础知识,上课时跟着老师走理解的很快,不明白的地方进行了二次学习,但是知识点很多很杂,当我将今天所学内容整理成这篇博客,再次加深了我的理解,理清我的思路,在脑海中形成老师所说的思维导图。今天心情很开心,天气比较凉快,希望我能够温故而知新,一直努力!