2020-07-13第二组 曹雨 Java01
Java01
1.Java语言:
半解释半编译
解释:
语言。JS。浏览器可以直接运行JS。不需要翻译
编译:
Java,Scala。如果有一个hello.Java文件,最终解释执行的不是它。它是程序员以10进制(所有文字都是10进制)为单位写的文件。计算机只认二进制。我们所写的Java文件计算机不认识,故需要一个翻译,来将我们的写的文件翻译给计算机,这就叫编译。
2.Java历史:
1995年,詹姆斯高斯林创办sun公司,发明了Java语言。Java的图标是小咖啡(印尼的爪洼岛),寓意是为全世界软件爱好者递上一杯热乎的咖啡。早期Java只要应用于移动端。在2009年sun公司被oracle(甲骨文)收购。Java是用C语言写出来的,C语言是万物之组。
3.计算机:
软件:看不见摸不着 钉钉,QQ。操作系统:windows、linux、MacOS
硬件:看得见摸得着 鼠标,键盘,CPU,内存,显卡
4.内存:
物理内存:文件是真实存在某一个磁盘
虚拟内存:未保存会丢失的文件
5.操作系统:
(1)打开指令控制台win+R ;cmd
(2)输入盘符 如D:直接切换目标盘
(3)cd.. 返回上一级目录
(4)进入指令的目录cd a
(5)dir目录指令,查看当前文件夹
(6) copy创建一个新文件
(7) echo (内容) > (文件)向文件里写入内容
(8)copy (文件1)(文件2)复制文件
(9)del (文件) 删除(删除不走回收站)
6.计算机的一些设置
(1)显示后缀名
(2)文件的浏览方式
(3)建议不要用第三方杀毒软件
二进制:
存储单位:
1bit = 1位
1byte = 8bit
1kb = 1024b
1mb = 1024k
1gb = 1024m
1tb = 1024g
1pb = 1024t
二进制的加减法计算:
十进制是逢十进一,二进制逢二进一。十进制世界的最大数是9,二进制世界最大数是1
10010011
10101001
101111100
负数
0000001
1000001
1000010
JavaSE:做桌面应用程序
JavaEE:企业应用
JavaME:手机端(淘汰)
Java的特点:
1.面向对象(找一个人来做,它做什么我不管)
2.跨平台:平台就是操作系统。用Java写的软件可以在任意操作系统上运行的。
3.解释执行计算机执行的是。class,解释执行。class
4.多线程。多个任务同时进行
5.分布式
6.健壮性:强数据类型的语言,异常处理,垃圾回收机制
7.安全性:第三方插件,来设置安全防范机制0
注意事项:
1.Java严格区分大小写
2.写代码的时候,一行代码要么用;结束要么用写{}
3.所有的符号都是英文状态下(可以用全角和半角来区分中英文状态)
4.代码提示,一定要注意看代码提示(如果你写的东西没有提示,多半是错的)
5.IDEA有报错功能。如果你发现你写的代码有错误,(有红色的报错)就别运行了。
类:
类是Java开发中最小的一个单位,一个Java开发的项目是由一堆类组成的
命名规则:
标识符:开发中,只要是可以命名的东西都叫标识符。
类名命名规则:
(1):只能由字母,数字,下划线,美元符号组成且数字不能开头。不建议使用$符号开头,下划线尽量不要使用。
只推荐英文字母(驼峰式命名)如果类名由多个英文单词组成,每个单词开头字母大写。
注释:
1、单行注释
// //
2、多行注释
/* */
3、文档注释:鼠标放上去会有提示
* *
三种注释都有调试代码
主方法(psvm):
pubulic static void main (String[] args){
}
控制台打印输出语句:
System.out.println("你好")
关键字:
官方的解释:这个字有它独一无二的作用。(在IDEA里蓝色的字就是关键字)
*关键字不能用来命名!!!
关键字全部是小写的,没有大写
Java数据类型:
分2种:
基本数据类型,引用数据类型
基本数据类型(都是关键字):4类8种 会读会写 知道意思
1、整型:
byte:字节型 -128~127
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位。 很大,比long还大 代表小数
double:双精度浮点型 8个字节=64位。 很大,比long大 代表小数
3、字符型:
char:字符型 2个字节=16位 0~255
4、布尔型
boolean,true,false 1个字节 = 8位 /1位
变量:
定义变量,复用,维护。减少使用字面量。
标识符,变量名的命名规则,使用小驼峰(第一个单词首字母小写,后面单词首字母大写)变量通过=赋值,把等号右边的值通过等号赋值给左边
字节型:
pubulic static void main (String[] args){
byte v = 10;
System.out.println(v1);
}
短整型:
pubulic static void main (String[] args){
short v = 10;
System.out.println(v);
}
整型
pubulic static void main (String[] args){
int v = 10;
System.out.println(v);
}
长整型(使用需要在值后面加一个大写的L)
pubulic static void main (String[] args){
long v = 10L;
System.out.println(v);
}
单精度浮点(值后加F)
pubulic static void main (String[] args){
float v = 10F;
System.out.println(v);
}
双精度浮点
pubulic static void main (String[] args){
double v = 10;
System.out.println(v);
}
字符型(需要加单引号,并且只能放一个值)
pubulic static void main (String[] args){
char v = "jiajfo";
System.out.println(v);
}
布尔型
pubulic static void main (String[] args){
boolean v = true/false;
System.out.println(v);
}
如果在程序中看到一个整数的字面量,默认是int
如果在程序中看到一个小数的字面量,默认是double
Java中的除法,如果是两个整数相除。得到的一定是整数,只要是整数和整数做运算得到的一定是整数
精度:
在4中整数类型,精度与位数挂钩,位数大,精度高
低精度与高精度做计算,得到的一定是高精度的结果。
数据类型的转换:
1、自动类型转换(提升)低精度——>高精度
byte b = 10;
int a = b;
2.强制类型转换:高精度——>低精度
byte b = 127;
b = (byte)(b + 1);
double d = 1.1;
int x = (int)d;
//干掉小数
System.out=println(x);
//至少转换一个为double,可以的到10/20=0.5
//平白无故低精度向高精度转换,也需要强转。
int i1 = 10;
int i2 = 20;
System.out=println((double)i1/i2);
赋值运算符:
加减乘除
a++先赋值后运算
++a先运算后赋值
赋值类型符可以进行类型的转换。使用a++可以试试
逻辑运算符
与:只有所有条件都为true,整体结果才为true,有一个false,整体false
双与:发现条件中,只要有一个false则停止
单与:无论多少个false,所有的条件都看。
int a = 10;
int b = 20;
//&&(短路与)和&
System.out.println(a<5 && b >6);
或:
int a = 10;
int b = 20;
//||(短路或)和|
System.out.println(a<5 || b >6);
异或:有假有真,真,全真全假,假
int a = 10;
int b = 20;
//^异或
System.out.println(a<5 ^ b >6);
位运算符:
& | ^ << >>
//位运算 二进制
//& | ^
//00001010
int a = 10;
//00010100
int b = 20;
//<<左移位 >>右移位 <<<无符号左移 >>>无符号右移将运算符左边的对象向右移指定的位数,采用0的扩展机制,不考虑符号
System.out.println(a b);
public static void main(String[] args) {
int a = 1;
int b = 2;
//Java中的三元运算符要求2个表达式的运行结果是相同或可以自动转成相同的类型
System.out.println(a > b ? a : b);
}
}
public static void main(String[] args) {
char a = 'a';
int i = a;
//映射表 ASCII码
//字符型 abcdefg每一个字符在计算机保存时都是以ASCII码的形式
//char类型是16位的,它可以自动转换成int.long.double.float
//当它转换成数组,会对应ASCII码去转换
//当整数类型转换成char类型,会对应ASCII码去转换
//由于char类型有这样的特殊性,开发中尽量不使用不让他们与运算符在一起
System.out.println(i);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效