JAVA学习笔记 ------类和对象之前的总结(尚硅谷)

JAVA学习笔记 ------类和对象之前的总结(尚硅谷),第1张

JAVA学习笔记 ------类和对象之前的总结(尚硅谷)

为什么要配置环境变量,随时让程序有运行的环境,例如执行javac.exe,则需要在cmd中打出这个exe的完整路径,那么不打出完整路径,执行这个exe就需要去path里找路径,

        把JDK的bin目录路径放在path下即可。调好了,重开cmd,输入java version,就可以看jdk的版本信息。

而一般的开发中,将不含bin的上层目录放进JAVA-HOME中,

然后在path中 %JAVA-HOME%(两个百分号动态的引用)bin,如此组合。

1.不用开发工具执行helloworld

在新建的项目文件夹中自己建一个helloworld.java,然后去cmd里,先通过javac.exe编译,再用java.exe,运行。执行命令为 路径 +javac+名字.java,生成的字节码class文件名,跟。java里写的class名一样。

刚开始没写main方法。 

2.windows下路径不区分大小写的

3.多行注释,,,,,不可以被嵌套使用

文档注释java特有


 

其注释内容可以被JDK的工具javadoc解析,生成一套以网页文件形式体现的程序说明文档。

4.API  (application programming interface)应用程序接口,即java中的类库。API文档可以直接在线看api文档。

5.public 只能加在文件名的那个类前面,println,输出完了就换行。凡是自己可以起名字的地方都叫标识符。标识符的位置不能用关键字,不能数字开头和有空格,严格区分大小写长度不限。

6.所有类型的数据,第一个bit放的是符号,后面的才是数

7.float单精度,精确到7位有效数字,double精确到float的两倍。

8.char 两个字节,一个字符,不同于C语言,C语言中是一个字节。char a='n',然后输出a,就会换行,t制表符,输出会有一个空格。char a=‘u0043',输出unicode编码上面的0043代表的符号。

9.解决乱码,Window -> Preferences -> General -> Workspace -> Text file encoding,选择Other选项的UTF-8

10.java中低类型和高类型计算的结果为高类型。低类型的数据比如 float f=7;输出f是7.0

高类型的值赋给低类型的变量要强制类型转换

byte、char、short--》int--》long--》float--》double

如果byte b=12;

byte b1=b+1;

则会报错,因为这个时候b1成int类型的了。

前面3个之间的运算,结果都是int类型的,只能拿int型接受。

高到低,就需要强制类型转换,例如我就把一个double变量的d=12.3给int型的i,

int i=(int)d;

11.定义long型的时候还是要在数字后面加L,即使数字小的时候不会报错,一变大就报错。

比如long L1=12323;可以是因为默认12323这个数据为int类型,long比int大。可以把低类型的数据赋值给高类型的数据。

定义float类型的时候必须加f,float f1=12.3;它会默认后面的类型为double,编译错误。

但也可以改成 float f1=(float)12.3;

12.string 类型可以和8中数据类型运算,但只能是连接运算

输出:学号:1001,这就是连接运算。都连成个字符串。在输出里可以连接。

13.进制,2进制是0b或者0B开头,0开头是8进制,0x开头是16进制。

分析:首先0b开头,num1的值为6,因为0b出现了,默认2进制,然后把2进制110代表的10进制数赋给num1。

而num3如果=0128,前面出现0了,必须是8进制的了,尾部不能出现8这个数字。

正数3码合一。

负数的反码是在原码的符号位不变,其余按位取反。补码就是在符号位不变,在反码的基础上从末尾加1。计算机底层存数据按补码的方式。

14.逻辑运算符,&和&&的结果都是相同的,但&&是短路与,左面出现false右边直接不计算了。短路   | |  也是如此。 逻辑异或a^b,相同为true不同为false。

15.位运算符3<<2,3的二进制左移两位

&与运算,6&3=2;    双1才1,否则为0

|或运算,6|3=7;    有1就1,同0就0

异或运算,6^3=5,相同是1不同是0

取反运算 ~6=-7,取反是对存储着的补码进行取反,就连最高的符号位也取反了。

16.运算符的顺序,想让谁早运算,加小括号即可(),赋值运算符从右到左集合。

导包,import java.util.scanner ;

17.如何从键盘获取不同类型的变量,需要使用到scanner类

也可以用sring类型的获取。

Sring S=scan.next();除了String类,其他的类型都要写在next()前。

 String gender scan.next();   char genderChar =gender.charAt(3);这句话就是String 类型里得到第4位单个字符的方法,因为索引从0开始。

18.switch中,没有遇到break就依次往下执行。switch中的表达式,只能是如下的6种数据类型,

byte,short,char,int,enum,String。布尔类型的肯定不行。case后面跟的只能是一个常量,比如switch(a/10),可以。但case里不能是判断表达式或者变量。

default 选项是没有匹配的最后才走这一项。位置是灵活的

 先匹配,匹配完了发现没有匹配的,然后从default依次往下执行,default后面没有break。

19.break中断指定标签的循环。

用lable1:加在for循环的前面,然后break lable1;即可结束指定循环。

continue lable1,跳到指定循环的下一层。

20.项目实战,选择javaEE的透视图,java的只能写一些基础。

 console和server消失的点掉的,都可以在这里面找到。

包名都要小写。复制粘贴 java文件的时候,乱码就调整成utf-8。如果粘贴的是别的包的,就要改包名。

换了workspace了,当前的配置都要归0;做出的配置都在.metedata这个文件下。建议直接把这个metedata拷贝过来。

21.数组Array,数组得元素可以是数据类型,也可以是引用数据类型。声明数组

int 【】+名字,这是定义。

赋值:名字=new int【】{1001,1002}。//静态初始化,一开始就把数组里得东西安排好了。数组得长度自己就确定了。

String name=new String【5】;//动态初始化,慢慢给数组里得元素赋值。

String name=new String【5】{1}  这种就是大大得错误,动静结合了属于是。

name【1】=“我”,这样赋值。

name.length直接看数组得长度。

21.1数组元素是整数,没赋值得时候是0;

浮点数,没赋值得时候是0.0;

数组元素是char,是0或’u0000',非‘0’。

boolean型,默认是false,

String等引用类型是null。

 

 

String类型放在常量池。

new出来的结构:对象、数组。

局部变量放在栈。

比如这一句话,int arr =new int【】{1,2,3};

先把arr放进stack,里,然后让arr=数组首地址,找到堆空间的数组,这俩联系起来。

 

 

 

 二维数组,一个数组里面装的是另一个数组的首地址。数组的下标还是从0开始。

int【】【】 arr=new int【】【】{{123},{23},{3}};数组元素又是一个数组。

String【】【】 arr2=new String【3】【2】;

String【】【】 arr2=new String【3】【0】;正确的。

除了正确的都是错误的。

String【】【】 arr2=new String【0】【4】;错误的。

如何获得2维数组的长度?

 第一句,可以看出元素个数。第二句,看第0个元素长度。数组的遍历。

22.Arrays工具类的使用

 

 23.数组种的异常:(1)角标异常 ArrayIndexOutOfBoundExcetion

就是访问越界了。

(2)空指针异常。NULLPointException

我的理解是,指针已经是空的了,比如arry=null,还要访问它指的数组元素,比如arry【1】,就会出现这种异常。

int【】【】 arr=new int【4】【】;

这个时候,外层初始化值,是null,所以调用arry【3】【2】,就会出现这种异常。

这种情况也会。

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4021377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-22
下一篇 2022-10-22

发表评论

登录后才能评论

评论列表(0条)

保存