零基础学习java(二)

时间:2023-02-14 18:16:11

java语言基础知识

1:注释
就是对代码的解释说明性的文字。
分类: 1:单行注释 ://。        
2:多行注释: /* */。3:文档注释。

作用:1:对程序进行说明,给人看。   2:可以对程序进行排错。
2:关键字
(1)被java语言赋予特定含义的单词。   (2)特点:所有的关键字全部小写。
3:标识符
(1)就是给类,
变量,接口,方法,等起名字。

(2)组成规则:A:由数字,字母,_以及$组成。B:不能以数字开头。C:不能是java中的关键字。
(3)常见的命名规则:
常量 全部大写

一个单词:MAX
多个单词:STUDENT_MAX_SCORE

包 全部小写
单级:com,cn,
多级:cc.it,com.google
类或者接口
一个单词:Student,Teacher
多个单词:HelloWorld,StudentName
方法或者变量
一个单词:function(),name,age
多个单词:studentName,showAge()
4:常量
(1)在程序的执行过程中,其值是不发生改变的量。
(2)分类: A:字面值常量 B:自定义常量
(3)字面值常量的分类:
A:整数常量 1,2          B:浮点数常量 1.2                                 C:字符常量 'a','b','1'
D:布尔常量 true,falseE:字符串常量 "hellonihao","world"   F:空常量 null
5:有符号数据表示法
(1)在java中,我们的数据是有正负之分的。
(2)在计算机存储和运算的过程中,数据都是采用补码进行的。
(3)原码,反码,补码
正数:原码,反码,补码和二进制形式相同。
负数:原码和正数的二进制的数值部分相同,符号位是1。
     反码和原码的区别是:符号位不变,数值为1变0,0变1。
     补码:反码+1
6:变量
(1)在程序执行的过程中,其值在某个范围内可以发生改变的量。
(2)格式:     A:数据类型   变量名 = 初始化值;         int a = 1;
B:数据类型     变量名;      变量名 = 初始化值;         int a;               a = 1;
(3)注意:    在使用一个变量的时候,必须先声明,赋值,最后才能使用。
7:数据类型
(1)分类:   基本类型:4类8种。  引用类型:类,接口,数组。
(2)基本类型:
整数: 占用的字节
byte         1
short        2
int            4
long         8
浮点数:
float         4  (遵循IEEE-754格式标准存储格式,由底数和指数组成底数部分 使用二进制数来表                                                          示此浮点数的实际值指数部分 占用8bit的二进制数,可表示数值范围为0-255)
double      8
字符         char        2(java中一个字节可以存一个汉字吗?面试,可以)
布尔: boolean      1
(3)注意
A:整数默认是int类型,浮点数默认是double类型。
B:如果一个数据想表示为long类型,要加L或者l。
 如果一个数据想表示为float类型,要加F或者f。
8:数据类型转换
(1)在运算的时候,要求数据的类型一致。
(2) boolean类型不参与。
A:隐式转换:(自动转换) 从小到大。       byte,short,char --> int --> long --> float --> double
B:显示转换:(强制转换)从大到小。
       格式:目标数据类型 变量 = (目标数据类型)(被转换的内容);

(3)long --> float为什么是这个样子的?    因为他们底层的存储方式不一样。
long : 2^63 float : 3.4*10^38
9:运算符
A:算术运算符
+:正号,加法,字符串连接符。
%:取得余数。
++,-- 单独使用:在操作数据的前后效果一致。
参与操作使用:
在操作数据的前面,是先++或者--,然后参与操作。
在操作数据的后面,是先参与操作,后++或者--。
B:赋值运算符       =:把右边的内容赋值给左边
+=,-=,*=,/=,%=:把左边的和右边的操作后赋值给左边。

?=:把左边和右边操作后赋值给左边。赋值的左边不能是常量。
+=隐含了强制类型转换。
               x+=y;等价与:x = (x的数据类型)(x + y);

                short s = 1;
                s = s + 1s += 1;前者就是有问题的编译不通过

 C:比较运算符        ==,!=,>,>=,<,<=
1):结果肯定是boolean类型。2):不要把==写成=。
D:逻辑运算符
&:有false则false         |:有true则true               ^:相同为false,不同为true。
!:非false则true,非true则false。偶数次不改变以前的真假。
&&:和&的结果一样,但是具有短路效果。左边有false,右边不执行。
||:和|的结果一样,但是具有短路效果。左边有true,右边不执行。
E:位运算符
要想操作,就必须把所有的数据转换为二进制。然后操作。
        ^:对同一个数据异或两次,该数本身不变。
数据交换:假设a,b是已经知道的int类型的变量
F:三元运算符                格式:比较表达式?值1:值2;
执行流程:
如果比较表达式是true,结果是值1;
如果比较表达式是false,结果是值2;

下面举例说明转换带来的注意点:
A:类型转换
byte n1 = 3;
byte n2 = 4;
byte n3 = n1 + n2;(变量相加先做类型提升再计算)。(此处有问题)
byte n4 = 3 + 4;(常量运算先运算再看是否超出范围)。
B:强制转换数据溢出的问题:
byte m= (byte)130;     //m=-126
byte n = (byte)300;   //n=44