目录
知识点掌握情况
基础数据类型(理解) 变量(理解) 精度(理解) 基本数据类型的转换(理解) 运算符(了解)
问题:
位运算的无符号左右移动,听的很懵,不理解,
学习心情(心路历程)
今天的知识都是基础,听起来不难,但是位运算的无符号移动,听的不是很懂,很悲伤
重点
老师的底线:命名要规范,不能用错误的拼写,中英文,大小写。
1.Java
1.1Java语言(半解释半编译):
- 解释:浏览器可以直接解释JS。不需要翻译
- 编译:Java;Scala。Java文件是以10进制为单位写的文件。计算机只认二进制。
- 需要有一个翻译把java文件翻译给计算机听
1.2计算机:
- 软件:看不见摸不着
- 硬件:看得见摸得着(CPU,显卡,内存)
1.3内存:
- 物理内存:有真实路径的,存在于某个磁盘下的。
- 虚拟内存:虚拟内存就是单我们在使用电脑的时候,所使用的软件或者是程序,软件或者是程序就位于虚拟内存之中。
1.4操作系统:
- 打开指令控制台 win+r
- 输入盘符D:直接切换到目标的盘
- cd..返回上一级目录
- 进入指定目录cda
- dir指令查看当前目录下的文件夹信息
- 创建一个空文件copy nul a.txt(把一个空文件复制到cda叫a.txt)
- 向文件内写入内容echo 123456>a.txt
- 复制文件copy a.txt b.txt
- 删除del a.txts不走回收站
1.5计算机的一些设置:
- 显示后缀名
- 文件的浏览方式
- 建议不要用第三方杀毒软件,尤其是360
1.6二进制:
- 存储单位
- 1bit=一位
- 1byte=8bit
- 1kb=1024b
- 1mb=1024kb
- 1gb=1024m
- 1tb=1024g
- 1pb=1024t
1.6.1 二进制原码.补码.反码
符号 | 原码 | 反码 | 补码 |
---|---|---|---|
+ | 00000001 | 同原码一样 | 同原码一样 |
– | 10000001 | 符号位不变,数值位按位取反 | 在反码的基础上末位加1 |
1.7.Java三个版本
- JavaSE:做桌面应用程序。Java基础
- JavaEE:企业级应用,要学习的
- JavaME:手机端淘汰
1.7.1 Java特点(重点)
- 面向对象
- 跨平台:平台就是操作系统。用Java写的软件可以在任意操作系统上运行的。
- 简单性:比C简单
- 解释执行:计算机执行的是.class文件,解释执行.class文件
- 多线程:多个任务同时进行。
- 分布性
- 健壮性:强数据类型的语言,异常处理,垃圾回收机制
- 安全性:插件来设置安全防范机制
2.第一个Java程序
2.1 java程序
public class Demo01 {
public static void main(String[] args) {
System.out.println("Hello2022");
}
}
2.2 class文件
就是计算机要去解释的文件,是一个二进制的文件
2.3 JDK,JRE与JVM
-
JDK:(Java Development Kit)Java开发工具包
-
JRE:(Java Runtime Environment)Java运行环境
-
JVM:(JavaVirtualMachine)Java虚拟机
只运行,不开发可以只安装JRE
2.4 IDEA
2.5 Java注意事项
- Java是严格区分大小写的
- 写代码的时候,一行代码要么用(;),要么用({})结束
- 所有的符号都是英文状态下
- 代码提示(如果你写的东西没有提示,大概率是错的)
- IDEA有报错功能,如果你发现你的代码有错误,就别运行了。
- 通过IDEA可以装一些很好用的插件
3.类
3.1什么是类
- 是Java开发中最小的一个单位,一个Java的开发项目是由一堆类组成的class
3.2标识符的命名规则
- 在开发中,只要是可以命名的东西,标识符
- 类名的命名规则:
- 只能由字母,数字,下划线,$组成——不建议使用$符号,下划线尽量不要开头,能不用尽量别用,推荐使用英文单词和数字
- 大驼峰式命名:如果这个类名由多个单词组成,每个单词的首字母大写
4.Java
4.1Java注释
三种注释都有调试代码的功能
-
// 单行注释
-
/* 多行注释*/
-
/** * 文档注释 */
4.2Java程序主方法
- 主方法一个程序运行的入口
4.3 关键字
- 官方解释:这个字有它独一无二的作用
- 在IDEA里变色的字就是关键字
- 关键字不能用来命名
- 关键字都是小写的
- 53个关键字 2个保留字goto、const。
5.Java知识点
5.1 Java中的数据类型
基础数据类型,引用数据类型
5.1.1基础数据类型
-
(会读会写)(都是关键字)
-
整型
- byte:字节型:取值范围(-128~127) 1个字节=8位
- short:短整型:取值范围(-215~215-1) 2个字节=16位 2万多
- int:整型:取值范围(-231~231-`) 4个字节=32位 4亿多
- long:长整型:取值范围(-263~263-1)8个字节=64位
-
浮点型
- float:单精度浮点型:4个字节=32位。很大,比long还大。小数
- double:双精度浮点型:8个字节=64位。很大,比long还大。小数
-
字符型
- char:字符型:2个字节=16位 取值范围(0~255)
- char的特殊性:所有的字符包括中文每一个字符在计算机保存时都是以ASC码的形式
- 开发中尽量不使用char,如果使用尽量不要让它与整数,浮点数进行运算
-
布尔型
- boolean:true或false (1个字节=8位/1位 不确定,有争议)
-
例子
byte v1 = 101;
short v2=2000;
int v3=11111;
long v4=50L; //需要在值的后边加l或L,推荐写大写的L;
float v5=5.5F; //需要在值的后边加大写的F;
double v6=13.23;
char v7='a'; //字符型需要加单引号,并且引号中只能放一个;
boolean v8=true; //布尔型只有俩值 true和false
5.2 变量
- 定义变量:为了后期维护,重复利用。减少使用字面量
- 标识符:变量名的命名规则,(小驼峰)
- 变量的值:通过=赋值,把等号右边的值赋给等号左边的值
- 如果在程序中看见一个整数字面量,没有任何数据类型声明的情况下,它默认是int或double
- java 中的整数和整数做运算 ,得到的一定是整数
5.3 精度
- 4种整数类型,精度是和位数挂钩的,位数越大,精度越高。
- 浮点型:double的精度比float要高
- 浮点型精度一定高于整数型
- 低精度和高精度做运算,得到的一定是高精度数据类型的结果
- char类型可以自动转换成int ,long,float,double
5.4 基本数据类型的转换(重点)
-
自动类型的转换(自动类型的提升):低精度—>高精度
-
强制类型转换:高精度>低精度。如果平白无故把低精度转换成高精度,也得强转。
-
// 整数高精度到低精度 byte v1=127; v1=(byte)(v1+1); // 小数转换成整数 double d=0.9; int x=(int) d; //小数转整数 直接舍去小数点后边的数 // 整数转小数 int i=10,i1=20; System.out.println((double)i/i1);
-
5.5运算符
- 无论a++还是++a,它的本意是让a自增1
- a++ 先赋值后运算
- ++a 先运算后赋值
5.5.1赋值运算符:
- += -= *= /= %= :从计算结果来看 a+=1——>a=a+1
- 赋值运算符可以进行数据类型的转换,包括a++可以
- 开发程序中尽量避免强转
5.5.2比较运算符:
-
< > <= >= == !=(没有===)
-
double c = 25.0; int a=25; System.out.println(a == c); //true
-
5.5.3逻辑运算符:
-
与 或 非 异或
-
与:& (短路与) &&——只有当所有的条件都为true 整体结果才是true,如果有一个为false,整体为false
- 双与:只要有一个false,则停止判断
- 单与:无论有多少个false,所有的条件都看。
-
或:| (短路或)||——有一个条件为true,结果为true,所有条件为false,结果为false。
- 双或:只要有一个true,则停止判断
- 单或:无论有多少个true,所有的条件都看。
-
非:取反 真变假,假变真
-
异或:^ ——有假有真即为真,全真全假即为假
-
int a1=10; int b1=20; System.out.println(a1 >5 ^ b1>6); //true
-
5.5.4位运算符:
-
逻辑运算符进行位运算
-
int a11=10; int b11=20; System.out.println(a11 ^ b11); //30
-
-
<<左移 >>右移
-
int x=2; // 2左移3位 2*2^3=16 00010变 10000 System.out.println(x << 3); //16
-
-
(>>>)无符号右移 <<<无符号左移
5.5.5 三元运算符:
-
( 条件表达式 ?表达式1 :表达式2)
-
int e = 10 ; int d = 20 ; System.out.println( ( e > d ? e : d ) ); // 20
-
-
Java里的三元运算符:要求两个表达式的运行结果的数据类型相同或能自动转换成相同类型的
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/tech/java/274145.html