【详细+超基础】Java-学习笔记 03

简介: 【详细+超基础】Java-学习笔记 03

image.png


二、Java 语言基础


标识符概述


Java中的标识符用来标记包、类、接口、对象、方法、变量等名称的字符序列。


标识符是以字母、下划线(__)、美元符号开头、后面可以跟随任意字母、数字、下划线、美元符号。


标识符注意


Java中的标识符不能以数字开头、对大小写敏感、标识符与关键字不能相同。


命名规则


1、类名、接口名的命名:单词的首字母大写,其他字母小写。


2、变量、方法的命名:第一个单词全小写,从第二个单词开始,单词的首字母大写,其余都小写。


3、常量的命名:每个单词都大写,单词之间用“__”连接。


4、包名的命名:包名的所有字母都小写。


关键字

Java中的关键字是有特定含义的,为编译器所保留的,不能作为标识符使用,且所有的关键字都是小写的。


用于数据处理的关键字:byte short int long float double char boolean


用于流程控制语句的关键字:if else switch case default while for break continue


方法、类型、变量的修饰的关键字:private public protected final static abstract synchronized


异常处理的关键字:try catch finally throw throws


对象相关的关键字:new extends implements class this super instance of(用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上)


方法相关的关键字:return void


包相关的关键字:package import


其他关键字: true false null


分隔符及注释

 分隔符: ;   {}   ()    .  
 注释: 
     // 单行注释
     /*
    多行注释    
     */
     /**
      文档注释
     */

变量


变量作为程序中最基本的存储单元,要素包括:变量类型,变量名,作用域


声明变量:


局部变量(local variable)


方法或语句内部定义的变量,必须先声明后赋值。


成员变量(member variable)


方法外部、类的内部定义的变量,成员变量会自动初始化


静态变量(static variable)


使用static定义,从属于类


变量和常量命名规范


  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母大写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写,驼峰原则
  • 方法名:首字母小写和驼峰原则:run(),runRun()


数据类型:

Java中的数据类型分为两类:基本数据类型与引用数据类型

1665295432844.jpg



byte:1个字节 short:2个字节


int:4个字节 long:8个字节


float:4个字节 double:8个字节


char:2个字节 boolean:1位


引用数据类型:4个字节,用来代表对象的地址


整型变量/常量

image.png


十进制整数,如:99,-500,0


八进制整数,要求以0开头,如:015


十六进制数,要求 0x 或 0X 开头,如:0x15


二进制数,要求 0b 或 0B开头 如:0h01110011


浮点型变量/常量

image.png


十进制数形式,如:3.14 314.0 0.314


科学计数法形式,如314e2 314E2 314E-2 (e2 = 10^2 E-2 = 10^(-2))


注意: 浮点型变量不精确不能用于比较,如果要用于比较需要用到java.math包下的连个有用的类BigInteger和BigDecimal


字符型变量/常量


在内存中占2个字节,用Unicode编码表


Unicode具有从0到65535之间的编码,他们通常从’\u000’ 到 ‘\uFFF’ 之间的十六进制值来表示(前缀u表示Unicode)


转义字符

转义符 含义 Unicode值
\b 退格(backspace) \u0008
\n 换行 \u000a
\r 回车 \u000d
\t 制表符(tab) \u0009
\” 双引号 \u0022
\’ 单引号 \u0027
\ 反斜杠 \u005c


boolean类型变量


在内存中占一位(不是一个字节)不可以使用0或非0的整数来代替true和false,这点和C语言不同。boolean类型用来判断逻辑条件,一般用于程序流程控制


各类型数据间的相互转换


1.自动类型转换


自动类型转换是指从低级到高级由编译器自动完成的类型转换,规则如下


  • byte short int long float double
  • char int long float double
byte  b=4;
int x=b;

2.强制类型转换


强制类型转换是强制编译器进行类型转换形式,格式为: (类型)变量名


double  money=76.69;
int   balance=(int) money;

运算符


运算符分类


image.png


算数运算符


二元运算符的运算规则:


整数运算

  • 如果两个操作数有一个为Long,则结果也为Long
  • 没有Long时,结果为int。即使操作数全为short,byte,结果也是int


浮点运算:

  • 如果两个操作有一个为double,结果为double。
  • 只有两个操作数都是float,则结果才为float。


取模运算


其操作可以为浮点数,一般为整数,结果是“余数”,“余数”符号和左边操作相同。

如:7 % 3 = 1 -7 % 3 = -1 7 % -3 = 1

算数运算符中++,- -属于一元运算符,该类运算符只需要一个操作数


赋值及其扩展赋值运算符

image.png


关系运算符

image.png


逻辑运算符

image.png


位运算符

image.png


字符串连接符

image.png


条件运算符

X ? Y : Z


运算符优先级的问题


image.png

逻辑与、逻辑或、逻辑非的优先级一定要熟悉!(逻辑非>逻辑与>逻辑或)。


如:a||b&&c的运算结果是:a||(b&&c),而不是(a||b)&&c


符号运算之 a++ 与 ++a


注意: a++ ++a


a++和++a 都属于自增运算符,区别是对变量a的值进行自增的时间不同。


a++是先进行取值,后进行自增。


++a是先进行自增,后进行取值。


例如:假设 x=3,y=4;


(1) (x++)+(++x)=8


解释:


对于第一个(x++),因为x++是先取值后自增,所以(x++)所取得值为3,然后x进行自增,此时x=4;


对于第二个(++x),因为++x是先自增后取值,所以(++x)所取得值为5,此时x=5,所以结果为8。


(2) (x++)/3+(–y)*2-(x–)%6+(y++)*3-(y–)


1+6-4+9-4=8


解释:


首先(x++)取值为3,然后x=4;然后(–y)取值为3,此时y=3;然后(x–)取值为4,然后x=3;然后(y++)取3,然后后y=4;最后(y–)取4,然后y=3;


注意:()可以提高算数优先级,所以先算括号里面的表达式,但是x++的取值为x,然后x在自增。


重点: ++ 运算优先级很高


面试题:

int  i = 10
i  =  i++ ;


此时,i的值是多少?


答: 输入 i 的值为 10


解析:


首先 i++ 的取值结果为10, 然后 i 进行自增,此时 i=11 ,最后 进行赋值 ,所以 最后输出 i的值 为 10.


相关文章
|
存储 Java 编译器
【详细+超基础】Java-学习笔记 09
【详细+超基础】Java-学习笔记 09
61 0
【详细+超基础】Java-学习笔记 09
|
IDE 前端开发 Java
【详细+超基础】Java-学习笔记 02
【详细+超基础】Java-学习笔记 02
60 0
【详细+超基础】Java-学习笔记 02
|
Java 编译器 数据处理
【详细+超基础】Java-学习笔记 03
【详细+超基础】Java-学习笔记 03
79 0
【详细+超基础】Java-学习笔记 03
|
安全 Java 编译器
【详细+超基础】Java-学习笔记 01
【详细+超基础】Java-学习笔记 01
76 0
【详细+超基础】Java-学习笔记 01
Java的学习笔记(02)基础
访问修改函数 static:它用于使成员(块、方法、变量或嵌套类)可以独立于任何其他成员使用,而无需参考特定情况。 strictfp:用于限制、浮点、浮点运算和计算,并在浮点变量中执行任务时保证每个阶段的结果相同。 synchronized:它用于在Java中获得适用于块和方法的同步。 transient:作为序列化的一部分使用的因子修饰符。在序列化的季节,如果我们不想对记录中的特定变量进行多余的估计,那么此时,我们使用transient关键字。 volatile:如果修饰符告诉编译器,由不稳定变量调整的变量通过程序的不同部分发生惊人的变化,则使用volatile。 Java关键字的
|
安全 Java 编译器
【详细+超基础】Java-学习笔记
【详细+超基础】Java-学习笔记
【详细+超基础】Java-学习笔记
【详细+超基础】Java-学习笔记 13
【详细+超基础】Java-学习笔记 13
【详细+超基础】Java-学习笔记 13
|
Java
【详细+超基础】Java-学习笔记 06
【详细+超基础】Java-学习笔记 06
79 0
|
存储 Java 索引
【详细+超基础】Java-学习笔记 04
【详细+超基础】Java-学习笔记 04
85 0