学了一天java,我总结了这些知识点(上)

简介: 学了一天java,我总结了这些知识点(上)

1.注释


注释就是对程序功能的解释说明。以特定的符号作为标记,程序在运行过程中不会执行注释。


Java中标记注释的符号分为三种:


(1)单行注释

单行注释用"//"标记, 其注释内容从 // 开始到本行结尾。例如:

//注释内容

(2)多行注释

多行注释以 /* 开始,以 */ 结束,把一段内容包起来

/*
注释内容
注释内容
*/

(3)文档注释

文档注释,用于为类,方法(函数),属性进行说明(放在前面),调用时鼠标放在上面可以显示这段注释,语法是以 /** 开始,以 */ 结束

image.png

注意 : 在 Java 中 ,多行注释不能嵌套 „

也就是说,当一段代码中包含一个 /* ,在使用多行注释包裹是就达不到注释目的。


2.关键字


关键字是指 Java 中有特殊含义,用于特定用途的单词

关键字的特点是关键字中所有字母都为小写

例如:public,private,int等,我就不一 一列举了


3.保留字


保留字是指现有Java版本尚未使用,但以后版本可能会作为关键字使用的单词

例如: goto 、const

自己命名变量名或者方法名等标识符时要避免使用这些保留字和关键字


4.标识符


Java中对各种变量、方法和类等要素命名时使用的字符序列称为标识符。

Java中规定了定义标识符的规则:

由26个英文字母大小写,0-9 ,_或$ 组成

数字不可以开头。

不可以使用关键字和保留字,但能包含关键字和保留字。

Java中严格区分大小写,长度无限制。

标识符不能包含空格。

注意:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”


5.Java数据类型


(1)基本数据类型

1.数值型

整数类型

byte : 一个字节 表数范围 : -128 ~ 127

short : 二个字节 表数范围 : -215 ~ 215-1

int : 四个字节 表数范围 : -231 ~ 231-1

long : 八个字节 表数范围 : -263 ~ 263-1

Java语言的整型常量默认为int型,声明long型常量可以后加**‘ l ’或‘ L ’** ,如:

int i = 600; //正确

long l = 8888888888L; //必须在数字后加l或L否则会出错


浮点型

float : 单精度 四个字节 在储存大型浮点数组的时候可节省内存空间

double: 双精度 八个字节 double类型同样不能表示精确的值

float和double类型不能表示精确的值

float定义时要在数后加上f或F

double d = 123.4;

float f = 234.5f ;


2.布尔型

boolean :布尔值取值的时候只允许取true或false,不能用其他的代替。

该类型适于逻辑运算,一般用于程序流程控制 。


3.字符型

char : 字符型的值是一个用单引号引起来的单个字符,例如:

char a = 'a';
char b = '中';

Java采用Unicode编码,一个字符占俩个字节,16位,所以可以用十六进制编码来表示

char a = '\u0061';  //a的Unicode编码为97

注意:Unicode 转义序列会在解析代码之前得到处理 。 例如, " \u0022 + \u0022"(Unicode值\u0022标识双引号)并不是一个由引号包围加号构成的字符串 。 实际上 ,\u0022 会在解析之前转换为 " ,这会得到也就是一个空串(""+"") 。

image.png



(2)引用数据类型

类 :最常用的就是String类型(字符串)

接口 : 如:List< E >:列表( E代表泛型 )

Map:双链的集合,以键值对形式存储的,K(键)和V(值)都是泛型

数组:数组是指存储在一个连续的内存块中的相同数据类型的元素集合。因为引用的是内存地址,所以数组属于引用数据类型。


6.基本数据类型转换


首先boolean型的值不能与其他类型相互转换


默认转换

整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:

byte,short,char->int->long->float->double

byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型


强制转换

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。

int i = 100;
double d = i;
double d1 = 10.99;
int i1 = (int) d1;


image.png

注意:

有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。


7.运算


运算符

Java 语言支持如下运算符:

算术运算符:

image.png


image.png

字符串连接运算符:+ ;

关系(比较)运算符: >,<,>=,<=,==,!= ;

逻辑运算符:

&—逻辑与 | —逻辑或 !—逻辑非

&& —短路与 || —短路或 ^ —逻辑异或

image.png


异或就是左右的值一样时就是false,追求一个“异”字。

我们可以看到用逻辑与和短路与计算的值是相同的,那它们的区别在哪呢?

逻辑与:会把符号俩边的表达式都计算一边,然后判断

短路与:因为与运算符号俩边的表达式有一个false就返回false,所以如果计算了符号左边的表达式是false,就不会计算符号右边的表达式,直接返回false,如果左边的是true才会计算右边


逻辑或和短路或同理,短路或左边的表达式是true时就不会计算右边,直接返回true

public static void main(String[] args){    
    int a = 1;    
    int b = 2;    
    if(++a>1||++b>4){        
        System.out.println(a);        
        System.out.println(b);    
    }    
    System.out.println("-------------");    
    a = 1;   //让值回到初始值
    b = 2;    
    if(++a>1|++b>4){        
        System.out.println(a);        
        System.out.println(b);    
    }    
    System.out.println("-------------");    
    a = 1;   
    b = 2;    
    if(++a>3&&++b>4){    
    } else {        
        System.out.println(a);        
        System.out.println(b);    
    }    
    System.out.println("-------------");    
    a = 1;    
    b = 2;    
    if(++a>3&++b>4){    
    }else {        
        System.out.println(a);        
        System.out.println(b);    
    }
}

输出如下:

image.png

赋值运算符:

image.png


位运算:

image.png


image.png

运算顺序

单目>算数运算符>移位>比较>按位>逻辑>三目>赋值

单目运算符(一元运算符,即一个变量):+,-,++,–

算数运算符:+,-,*,/,%

移位运算符:<<,>>

关系运算符:>,<,>=,<=,==,!=

位运算符:&,|,~,^,

逻辑运算符:&&,||

三目运算符:表达式1?表达式2:表达式3;

赋值运算符:= 等



目录
相关文章
|
3月前
|
安全 Java 编译器
揭秘JAVA深渊:那些让你头大的最晦涩知识点,从泛型迷思到并发陷阱,你敢挑战吗?
【8月更文挑战第22天】Java中的难点常隐藏在其高级特性中,如泛型与类型擦除、并发编程中的内存可见性及指令重排,以及反射与动态代理等。这些特性虽强大却也晦涩,要求开发者深入理解JVM运作机制及计算机底层细节。例如,泛型在编译时检查类型以增强安全性,但在运行时因类型擦除而丢失类型信息,可能导致类型安全问题。并发编程中,内存可见性和指令重排对同步机制提出更高要求,不当处理会导致数据不一致。反射与动态代理虽提供运行时行为定制能力,但也增加了复杂度和性能开销。掌握这些知识需深厚的技术底蕴和实践经验。
78 2
|
4月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
72 0
|
1月前
|
安全 Java 编译器
Java基础-知识点(二)
Java基础-知识点(二)
13 0
|
1月前
|
存储 缓存 安全
Java基础-知识点(一)
Java基础-知识点(一)
17 0
|
3月前
|
安全 Java 程序员
阿里开发手册 嵩山版-编程规约 (四)OOP规约-Java程序员必看知识点!!!
《阿里开发手册 嵩山版》的OOP规约部分强调了面向对象编程的最佳实践,包括正确使用静态方法、覆写方法的注解、可变参数的使用、接口的稳定性、equals和compareTo方法的使用、BigDecimal的正确比较、包装类与基本数据类型选择、POJO类的属性和方法设计等,以提升代码的质量和维护性。
|
5月前
|
存储 Java API
Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)
Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)
Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)
|
5月前
|
设计模式 Java 编译器
Java中的内部类(如果想知道Java中有关内部类的知识点,那么只看这一篇就足够了!)
Java中的内部类(如果想知道Java中有关内部类的知识点,那么只看这一篇就足够了!)
|
5月前
|
Java 程序员 编译器
Java 异常处理详解(如果想知道Java中有关异常处理的知识点,那么只看这一篇就足够了!)
Java 异常处理详解(如果想知道Java中有关异常处理的知识点,那么只看这一篇就足够了!)