java语言,半解释半编译
解释:语言,js,浏览器可以直接运行js,不需要翻译
编译:java,Scala,hello.java,使我们程序员写的以10进制为单位写的文件,计算机只认二进制。我们写的java计算机是不认识的,我们需要一个翻译把我们写的java文件翻译给计算机听
软件:
看不见摸不着;操作系统windous、linox、maxos
硬件:看得见摸得着 cpu、显卡、内存、硬盘
内存:物理内存,虚拟内存
操作系统:会操作一些基本的指令
(1)打开指令控制台win+r
(2)输入盘符f:,直接切换到目标的盘
(3)cd..返回上一层目录
(4)进入指定的目录 cd a
(5)dir指令查看当前目录下的文件夹信息
(6)创建一个空文件 copy nul a.txt
(7)向文件中写入内容echol 123456>a.txt
(8)复制文件copy a.txt b.txt(复制a的内容到b)
(9)删除文件del a.tet 不走回收站
二进制
存储单位:
1 bit = 一位
1 byte = 8 bit
1 kb = 1024 b
1 mb = 1024 k
1 gb = 1024 m
1 tb = 1024 g
1 pb = 1024 t
二进制的加减法计算:
十进制是f逢十进一,二进制逢二进一,十进制世界最大数是9;二进制世界最大数是1
八进制12345678
十六进制 0123456789abcdef
java的三个版本
javaSE:做桌面应用程序(基本淘汰)
javaEE:企业级应用,学习
javaME:手机端,淘汰
java的特点:
1、面向对象
2、跨平台:平台就是操作系统,用java写的软件可以在任意操作系统上运行的
3、简单性
4、解释执行计算机执行的.class,解释执行.class
5、多线性。多个任务同时执行
6、分布式
7、健壮性 强数据类型的语言,有异常处理。垃圾回收机制
8、安全性 插件设置一个安全防范机制
java环境的搭建
1、安装java
2、配置环境变量
(1)计算机-右键-属性-高级系统设置-环境变量-系统变量上新建JAVA_HOME(C:\Program Files\Java\jdk-11.0.15)-确定
(2)找到原来就存在的Path,双击打开,不要动里面的原有的值,新建,粘贴jdk安装路径直到bin目录的路径(C:\Program Files\Java\jdk-11.0.15\bin或%JAVA_HOME%\bin),点击所有的确定。
3、常用的指令 java、javac、javap、java —version,java -jar
写一个程序
(1)创建一个.java文件
public class hello { 声明一个类,,名字叫做hello
public static void main(String [] args) { 主方法,程序运行
System.out.println("hello2022"); 打印输出,相当于console.log();
}
}
(2)通过cmd指令控制台找到这个java文件
(3)把写的二进制文件转成十进制
代码要求
Java严格区别大小写
写代码时,一行结束要么用;结束,要么写{}
所有符号都是英文状态下
一定要注意看代码提示,如果写的代码没有提示,多半是错误的
idea有报错功能
什么是类?
类(class),是java开发中的一个最小的单位,一个java开发的项目是有一堆类组成的
命名规则:
在开发中,只要是可以命名的东西,就是标识符
类名的命名规则:
只能由字母,数字,下划线 ,$组成。数字不能开头,不建议用$号,下划线尽量不用开头,也不建议用。推荐用字母和数字
驼峰式命名:如果这个类名是由多个单词组成,每个单词的首字母大写
java注释 三种注释都有调试代码的功能
// 单行注释
/* 多行注释 */ 快捷键ctrl+shift+/
/** 文档注释
*
*/
关键字:53个
官方解释:每个字都有独一无二的作用
关键字不能用来命名,都是小写的
goto、const是保留字 没有意义
Java中的数据类型
基本数据类型,引用数据类型
基本数据类型:4种8类 会读 会写懂意思
1.整型
byte:字节型 -128~127 一个字节=8位
byte v1 = 10;
short:短整型 -2*15~2*15减1 2个字节=16位 2万多 都是次方
short v2 = 20;
int:整型 -2*31 ~2*31 减1 4个字节=32位 4亿多
int v3 = 300000000;
long:长整型 -2*63~2*63减1 8个字节=64位 很大
需要在值的最后加一个L或l
long v4 = 2000000000000l;
2、浮点型
float:单精度浮点型 4个字节=32位。很大,比long还大 是小数
使用floot需要在值得后面加上一个F或f
float v5 = 5.3445543254554353454F;
double:双精度浮点型 8个字节=64位 很大 比long还大 是小数
double v6 =5.6;
3.字符型
char:字符型 2个字节=16位
需要加单引号,并且引号中只能加一个
char v7 = '你';
4.布尔型 boolean 、 true、 false 一个字节=8位
boolean v8 = true;
boolean v9 = false;
变量:
定义变量标识符,为了后期的维护,重复利用。
减少使用字面量
标识符,变量的命名规则,小驼峰stuNo (小驼峰第一个单词首字母不大写 大驼峰所有单词首字母都大写)
变量的值通过=赋值
java运算
java中的/除法,如果两个整数相除,得到的一定是整数
整数和整数做运算,得到的一定是整数
java中+—*/%,数据类型严格的变成语言
精度
整型:4种整数类型,精度是和位数挂钩,位数越大,精度越高
浮点型:double的精度比float要高
浮点型>整型
低精度和高精度的做计算,得到的一定是高精度数据类型的结果
为什么int类型的数据给byte给不了?
大给小,有一种可能是小的装不下了,所以大不能给小
低精度和高精度的做计算,得到的一定是高精度数据类型的结果
基本数据类型的转换:
1.自动类型转换(自动类型的提升)低向高
同一类型中低向高自动转换 , 跨型低向高强制
2.强制类型转换 高向低低向高g
小数默认是double 整数默认是int
public static void main(String[] args) {
byte b = 127;
b = (byte)(b - 1);
System.out.println(b);
}
public static void main(String[] args) {
double d = 1.9;
int x = (int)d;
System.out.println(x);
}
int i1 = 10;
int i2 = 20;
System.out.println((double)i1 / i2);
a++表示先赋值后运算
++a先运算后赋值
如果a = 10: a++等于10 ;++a等于11;a等于11
赋值运算符
+= —= *= /= %=
从计算结果来看,a+=1 和a = a+1(尽量不用)是一样的
赋值运算符可进行数据类型的转换,包括a++也可以
byte b = 127;
b = b + 1;(尽量不用)
b += 1;
b++;
System.out.println(b);
比较运算符,结果都是布尔类型
< > <= >= == !=
int a = 10;
int b = 20;
double c = 10.0;
System.out.println(a == c);
逻辑运算符
与:只有当所有条件都为true,整体结果才是true。 如果有一个为false,则整体即为false
双与(短路与):当发现条件中,只要有一个false,则停止判断(效率高)&&
单与:无论有多少个false,所有条件都看。&
int a = 10;
int b = 6;
System.out.println( a > 5 && b > 6);
或:只有当所有条件都为false,整体的结果才是false,如果有一个为true,则整体为true
双或(短路或)|| 和单或| 同 双与与单与
非:取反!
异或:有假有真即为真,全真全假即为假^
int a = 10;
int b = 20;
System.out.println(a < 5 ^ b < 6);
三元运算符
要求:两个表示式的运行结果的数据类型是相同或可以自动转化成相同的
int a = 1;
double b = 20.5;
char c = 'a';
double max = a > 10 ? b : c;
System.out.println(max);
char的特殊性
映射表 ASCII码
字符型 abcdefg每一个字符在计算机保存时都是以ASC码的形式
char类型是16位,short是一样的,可以自动转换成int,long,float,double
当char自动转换成数值类型,会对应着ascii码去转换
把整数类型转换成char类型,会对应着ascii码去转换
由于char类型有这样的特殊性,开发中尽量不适用char
char a = '你';
int i = a;
System.out.println(i);