2022-07-13 第二小组 张宁杰 Java基础

今日重点

Java的数据类型、Java不同数据类型间的转换、赋值运算符、逻辑运算符、位运算符、三元运算符

学习心得

今日复习了如何搭建Java运行环境,并对大二学习的Java SE基础进行了复习,学习过程中,我发现自己对Java相关运算符的使用不够熟练

学习内容

1、Java语言:半解释半编译

解释:

语言。JS。浏览器可以直接运行JS。不需要编译

编译:

Java,Scala。Hello.java是程序员写的,以10进制为单位写的文件,计算机只认2进制。我们所写的Java文件计算机是不认识的,我们需要有一个翻译把我们写的Java文件翻译给计算机听。

2、Java历史

1995年,詹姆斯高斯林,sun公司,发明了Java语言,印尼的爪哇岛。Java语言,寓意就是为全世界软件爱好者递上一杯热乎的咖啡。早期,移动端。2009年sun公司被oracle(旧金山)收购。
Java用什么写出来的?
C和C++,C是万物之祖

3、计算机及其相关基本操作:

软件:

看不见摸不到。操作系统:windows、linux、MacOs

硬件:

看得见摸得到CPU、显卡、内存16G固态硬盘512以上。尽量不要买混合硬盘。CPU尽量在四核以上。CPU4核,16+512的内存硬盘。

内存:

物理内存,虚拟内存

操作系统:

以下为一些基本的指令
(1) 打开指令控制台 win+r
(2) 输入盘符c:,直接切换到目标盘符
(3) Cd..是返回上一级目录
(4) 进入指定的目录cd a
(5) Dir指令查看当前目录下的文件夹信息
(6) 创建一个空文件copy nul a.txt
(7) 向文件内写入内容:echol 123456>a.txt
(8) 复制文件copy a.txt b.txt
(9) 删除文件del a.txt不走回收站

计算机的一些设置:

1、 显示后缀名
2、 文件的浏览方式
3、 不使用第三方杀毒软件。尤其是360

二进制:

存储单位:

1bit=一位
1byte=8bit
1kb=1024b
1mb=1024k
1gb=1024m
1tb=1024g
1pb=1024t

二进制的加减法计算:

二进制是逢二进一,十进制逢十进一。十进制的最大数是9,二进制的是1
负数:
0000000001
1000000001
1000000010:-2
八进制、十六进制

4.Java:

Java的三个版本:

JavaSE:做桌面应用程序/Java基础
JavaEE:企业级应用
JavaME:手机端,淘汰

Java的特点:

1、 面向对象
2、 跨平台(即跨操作系统)。用Java写的软件可以在任意操作系统上运行的
3、 简单性(和C相比)
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
3、写一个程序
(1)创建一个.java文件

public class hello { 声明一个类,名字叫做hello
			public static void main(String [] args){ 主方法,程序运行
				System.out.println("hello2022");打印输出,相当于console.log();
			}
		}

(2)通过cmd指令控制台找到这个java文件
(3)java文件是我们写的,计算机不认识,现在我们需要翻译(编译)一下,使用javac指令操作hello.java
结果生成了一个hello.class。这个hello.class就是计算机要去解释执行的文件。这个hello.class我们
是不认识的,说明这个hello.class是一个二进制文件。把我们写的hello.java以二进制的形式转成了hello.class,
hello.class又叫做字节码文件。
(4)执行hello.class,java hello
总结:通过javac hello.java把它编译成了.class,系统去解释执行了这个hello.class
到底是谁做得这些事?
在我们去配置环境变量的时候,实际上相当于在系统上去搭建了一台虚拟机
JDK:java developer kit java开发工具包。JDK10之前,是有单独的JRE,JDK11往后,没有单独的JRE
JRE:java runtime environment java运行环境。如果只需要运行,不需要开发,可以只安装JRE
JVM:java virtual machine java虚拟机

使用idea注意事项

1、Java是严格区分大小写的
2、写代码的时候,一行代码要么用;结束,要么写{}
3、所有的符号都是英文状态下
4、代码提示,一定要注意看代码提示,如果写的东西,没有代码提示,多半是有错的
5、idea有报错功能,如果发现写的代码有错误,就不要运行。

什么是类?

类是Java开发中的一个最下的单位,一个Java开发的项目是由一堆类组成的。

标识符的命名规则:

在开发中,只要是可以命名的东西就是标识符。

类名的命名规则:

只能由字母,数字,下划线,美元符号组成。数字不能开头。但是不建议使用$号,下划线尽量不要开头,推荐使用英文字母和数字,大部分都是使用字母(英文单词),驼峰式命名,如果这个类名由多个单词组成,每个单词的首字母大写

Java中的注释:

1.单行注释
2.多行注释Ctrl+shift+/
3.文档注释
三种注释都有调试代码

关键字:

官方解释:这个字有它独一无二的作用(在idea里蓝色的都是)
关键字(53个,其中有两个保留字:goto、const)不能用来命名!!!!关键字都是小写

Java中的数据类型:

基本数据类型(4类8种)会读会写,知意
整型(byte:字节型 -128~127 1个字节=8位
short:短整型 -215~215-1 2个字节=16位 2万多
int:整型 -231~231-1 4个字节=32位 4亿多
long:长整型 -263~263-1 8个字节=64位 很大)使用长整型需要在值后面加上一个L
浮点型(float:单精度浮点型 4个字节=32位。很大,比long还大。小数。 使用float需要在值后面加上一个F;double:双精度浮点型 8个字节=64位。很大,比long还大。小数)
字符型(char:字符型 2个字节=16位 0~255)字符型需要加单引号,并且引号中只能放一个
布尔型(boolean,true,false 1个字节=8位 1位1 0)
引用数据类型:类、接口、数组

char的特殊性

 //char的特殊性
        char a = ' ';
        int i = a - 20;
        char b = (char)i;
        //映射表ASCII码
        //字符型abcdef每个字符在计算机保存时都是以ASC码形式
        //char类型是16位,short是一样的,可自动转换成int,long,float
        //把整数类型转化成char类型,会对应着ASCII码去转换
        //由于char类型有这样的特殊性,开发中尽量不适于char
        //+号任然有连接符的功能
        System.out.println(b);结果为M

不同数据类型之间的计算:

        byte b = 127;
        b = (byte)(b + 2);
        System.out.println(b);
        //结果为-127
        double d = 1.1;
        int x = (int)d;
        System.out.println(x);
        //结果为1
        int i1 = 10;
        int i2 = 20;
        System.out.println((double) i1 / i2);
        //结果为0.5
        int a = 10;
        //a++;
        //System.out.println(a++);
        System.out.println(a++ + ++a + a++ + a);结果为47
        /*
        a++:先赋值后运算
        ++a:先运算后赋值
        如果a = 10: a++? 10;++a 11;a 11
        */

变量:

定义变量,为了后期的维护,重复利用。
在开发过程中,要减少使用字面量

标识符:

变量名的命名规则,小驼峰stuNo,命名要有规范,不能有拼写错误
变量的值通过=赋值,把等号右边的值通过等号赋值给等号左边的变量。
如果在程序中看见了一个整数的字面量,没有任何数据声明的话,它默认是int
----------------小数-------------------------double
Java中的/,如果是两个整数相除,得到的一定是整数
整数和整数做运算,得到的一定是整数
Java中的加减乘除,数据类型严格的变成语言

精度:

整型:4种整数类型,精度是和位数挂钩的,位数越大,精度越高
浮点型:double的精度比float高
浮点型>整型
低精度和高精度的做运算,得到的一定是高精度数据类型的结果
为什么int 类型的数据给byte给不了?
大给小,有一种可能是小的装不下,所以大不能给小

数据类型的转换:

自动类型转换(自动类型提升)低精度到高精度 byte int
强制类型转换 高精度到低精度。如果就要把低精度给高精度,也是得强转

a++、++a:本意是让a自增1
没有a** a// a%%

赋值运算符:

+= -= *= /= %=
从计算结果来看,a+=1--->a = a + 1
赋值运算符可以进行数据类型的转换,包括a++也可以

 //赋值运算符
        byte b = 127;
        //b = b + 1;
        //b += 1;
        //b++;
        System.out.println(b);结果为-128
        int a = 10;
        int b = 20;
        double c = 10.0;
        System.out.println(a == c);a会变成double型再比较

逻辑运算符:

与:只有当所有条件都为true,整体的结果才是true。如果有一个为false,则整体即为false
双与:当发现条件中,只要有一个false,则停止判断(效率高)
单与:无论有多少false,所有条件都看
或:只有当所有条件都为false,整体的结果才是false。如果有一个为true,则整体即为true
双或和单或同上
非:取反
异或:有假有真即为真,全真或全假都为假

//逻辑运算符 与 或 非 异或
        int a = 10;
        int b = 20;
        //与 && (短路与)&
        //或 ||  (短路或)|
        System.out.println(a > 5 && b > 21);false
        System.out.println(a > 5 ^ b > 1);true

位运算符

//位运算符  二进制
        //00001010
        //00010100
        int a = 10;
        int b = 20;
        System.out.println(a & b);
        System.out.println(a ^ b);
        System.out.println(a | b);
        int x = 2;
        //<<左移三位
        //System.out.println(2 << 3);2*2^3
        //>>右移三位
        //System.out.println(x >> 3);2/3^1
        int y = -2;
        //>>>无符号右移,将运算符左边的对象向右移指定的位数。采用0的扩展机制,不考虑符号
        System.out.println(x >>> 1);

三元运算符

 //三元运算符
        int a = 10;
        int b = 20;
        //double = 20.5;
        //double max = a > b ? a : b;
        //char = 'a';Java里的三元运算符,要求2个表达式的运行结果的数据类型是相同或可以自动转换成相同的
        //double max = a > 10 ? a : c;
        System.out.println(a > b ? a : b);
posted @   贵妃就是贵妃  阅读(41)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示