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

本文档详细介绍了Java语言的基础知识,包括标识符的命名规则、关键字的使用、分隔符和注释、变量的声明与类型转换、运算符的分类与优先级。还深入讲解了数据类型的细节,如整型、浮点型、字符型和布尔型,并通过实例解析了自增运算符的用法。此外,还探讨了变量命名规范和数据类型的转换规则。
摘要由CSDN通过智能技术生成

在这里插入图片描述

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

Java学习笔记系列——孙不坚1208
【详细+超基础】Java-学习笔记 01
【详细+超基础】Java-学习笔记 02
【详细+超基础】Java-学习笔记 03
【详细+超基础】Java-学习笔记 04
【详细+超基础】Java-学习笔记 05
【详细+超基础】Java-学习笔记 06
【详细+超基础】Java-学习笔记 07
【详细+超基础】Java-学习笔记 08
【详细+超基础】Java-学习笔记 09
【详细+超基础】Java-学习笔记 10
【详细+超基础】Java-学习笔记 11
Java学习笔记系列持续更新中…

二、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中的数据类型分为两类:基本数据类型与引用数据类型

Java数据类型.png

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

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

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

char:2个字节 boolean:1位

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

整型变量/常量

clip_image002.jpg

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

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

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

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

浮点型变量/常量

clip_image004.jpg

十进制数形式,如: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;

运算符

运算符分类

clip_image006.jpg

算数运算符

二元运算符的运算规则:

整数运算

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

浮点运算

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

取模运算

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

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

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

赋值及其扩展赋值运算符

clip_image008.jpg

关系运算符

clip_image010.jpg

逻辑运算符

clip_image012.jpg

位运算符

clip_image014.jpg

字符串连接符

clip_image016.jpg

条件运算符

X ? Y : Z

运算符优先级的问题

clip_image018.jpg

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

如: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 , 希望能给需要帮助的朋友带来方便,同时也希望能得到各位大佬的建议。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

請你喝杯Java

感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值