JavaSE基本语法(上),你确定都懂了吗?

JavaSE基本语法(上)

  • 前言
    • 一、“标识符”的使用
      • 1. 概念
      • 2. 标识符的命名规则(不遵守则编译不通过)
      • 3. 标识符的命名规范(建议遵守)
    • 二、“变量”的使用
      • 1. 语法格式
      • 2. 注意事项
      • 2. 变量分类
      • 3. 整型变量
      • 4. 浮点型变量
      • 5. 字符型变量
      • 6. boolean型变量
      • 7. 基本数据类型之间的运算规则(不包括boolean类型)
      • 8. String类型变量
    • 三、注释(comment)
      • 1. 概念
      • 2. 分类
      • 3. 注意事项
    • 四、 运算符
      • 1. 概念
      • 2. 分类
      • 3. 算术运算符
      • 4. 赋值运算符
      • 5. 比较运算符
      • 6. 逻辑运算符
      • 7. 位运算符
      • 8. 三元运算符
      • 9. 运算符的优先级
    • 四、关键字与保留字
      • 1. 关键字
      • 2. 保留字

前言

本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,欢迎关注!


一、“标识符”的使用

1. 概念

标识符:凡是自己可以起名字的地方都叫标识符
比如:类名,变量名,方法名,接口名,包名……

2. 标识符的命名规则(不遵守则编译不通过)

(1) 由26个英文字母大小写,0-9,_或$组成。
(2) 数字不可以开头。
(3) 不可以使用关键字和保留字,但能包含关键字和保留字。
(4) Java中严格区分大小写,长度无限制。
(5) 标识符不能包含空格。

3. 标识符的命名规范(建议遵守)

(1)包名:多单词组成时所有字母都小写:xxxyyyzz
(2)类名,接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
(3)变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
(4)常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ;
(5)在起名字时,要做到“见名知意”
(6)Java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用;

二、“变量”的使用

1. 语法格式

声明变量
语法:<数据类型> <变量名称>
例如:int var;

变量的赋值
语法:<变量名称> = <值>
例如:var = 10;

声明和赋值变量
语法: <数据类型> <变量名> = <初始化值>
例如:int var = 10;

2. 注意事项

(1) Java中的每个变量必须先声明后使用
(2) 使用变量名来访问这块区域的数据;
(3) 变量的作用域:其定义所在的一对{ }内;
(4) 变量只有在其作用域内才有效;
(5) 同一个作用域内,不能定义重名的变量;

2. 变量分类

⭕ 按数据类型的不同分类
(1)基本数据类型:

整型byte \ short \ int \ long
浮点型float \ double
字符型char
布尔型boolean

(2)引用数据类型:

类(包含字符串)(class
接口(interface
数组(arry)

JavaSE基本语法(上),你确定都懂了吗?
⭕ 按声明的位置的不同分类

(1)在方法体外,类体内声明的变量称为成员变量。
(2)在方法体内部声明的变量称为局部变量。

JavaSE基本语法(上),你确定都懂了吗?

注意:二者在初始化值方面的异同:
同:都有生命周期
异:局部变量除形参外,需显式初始化。

3. 整型变量

(1)byte(1字节 = 8 bit)\ short(2字节)\ int(4字节)\ long(8字节);
(2)byte范围:-128—127;
(3)声明long型变量,必须以“l”或“L”结尾,如:long x =321232323232L;
(4)通常,定义整型变量时,使用int型;
(5)整型常量,默认类型为int
JavaSE基本语法(上),你确定都懂了吗?

4. 浮点型变量

(1) float(4字节)\ double(8字节);
(2) float:单精度,尾数可以精确到7位有效数字;
(3)double:双精度,精度是float的两倍;
(4) float表示数值的范围比long还大,但所占内存一致;
(5)定义float类型变量时,变量要以“f”或“F”结尾,如:float f1 = 12.3F;
(6)通常,定义浮点型变量时,使用double型;
(7) 浮点型常量,默认类型为double类型
JavaSE基本语法(上),你确定都懂了吗?

5. 字符型变量

(1)char(2字节);
(2)字符常量是用单引号‘ ’括起来的单个字符,如:char c1 = ‘a’;char c2 = ‘中’;char c3 = ‘9’;
(3)Java中允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量,如:char c3 = ‘\n’;
JavaSE基本语法(上),你确定都懂了吗?

(4)直接使用Unicode值来表示字符型常量:‘\uXXX’,其中,XXXX代表一个十六进制整数;
(5)char类型是可以进行运算的,因为它都对应有Unicode码;

6. boolean型变量

(1)只能取两个值之一:turefalse;如:boolean b1 = false;
(2)boolean 类型用来判断逻辑条件,一般用于程序流程控制:

  1. if条件控制语句;
  2. while循环控制语句;
  3. do-while循环控制语句;
  4. for循环控制语句;

(3)不可以使用 0 或 非0 的整数替代falsetrue,这点和C语言不同。

(4)Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示。———《java虚拟机规范 8版》

7. 基本数据类型之间的运算规则(不包括boolean类型)

⭕ 自动类型提升

(1)有多种类型的数据混合运算时,系统首先自动将所有的数据转换成容量最大的那种数据类型,然后再进行运算,此时的容量大小指的是数的范围的大和小,如:float容量大于long的容量;
(2)byte,short,char之间不会相互转换,它们三者在计算时首先转换成int类型;
(3)转换规则:(byte,char,short)--> int --> long --> float --> double;
JavaSE基本语法(上),你确定都懂了吗?

⭕ 强制类型转换:

(1)需要使用强转符();
(2)强制类型转换,可能导致精度损失,
如:

//精度损失举例1
double x = 12.9//精度损失举例2
long x =123short y =short)x;//(没有精度损失)
int x = 128;byte y = (byte)x;//有精度损失

(3)boolean类型不可以转换为其它的数据类型。
(4)通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可
以实现把字符串转换成基本类型。
如: String a = “43”; int i = Integer.parseInt(a);

//判断能否通过编译
1short s = 5;
s = s-2; //判断:no

2byte b = 3;
b = b + 4; //判断:no
b = (byte)(b+4); //判断:yes

3char c = ‘a’;
int i = 5;
float d = .314F;
double result = c+i+d; //判断:yes

4byte b = 5;
short s = 3;
short t = s + b; //判断:no

8. String类型变量

(1)String属于引用数据类型,翻译为:字符串;
(2)声明String类型变量时,使用一对“”
(3)String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
(4)当把任何基本数据类型的值和字符串(String)进行连接运算(+)时,基本数据类型的值将自动转化为字符串(String)类型

System.out .println(3+4+“Hello!); //输出:7Hello!
System.out.println(“Hello!+3+4); //输出:Hello!34
System.out.println(‘a’+1+“Hello!); //输出:98Hello!
System.out.println(“Hello”+‘a’+1); //输出:Helloa1

三、注释(comment)

1. 概念

用于注解说明解释程序的文字就是注释。

2. 分类

Java中的注释类型:

  1. 单行注释
    格式: //注释文字
  2. 多行注释
    格式: /* 注释文字 */
  3. 文档注释 (java特有)
    格式:
    /**
    @author 指定java程序的作者
    @version 指定源文件的版本
    */

3. 注意事项

⭕ 提高了代码的阅读性;调试程序的重要方法。

⭕ 注释是一个程序员必须要具有的良好编程习惯。

⭕ 将自己的思想通过注释先整理出来,再用代码去体现。

⭕ 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

⭕多行注释里面不允许有多行注释嵌套。

⭕ 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
操作方式:JavaSE基本语法(上),你确定都懂了吗?

四、 运算符

1. 概念

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

2. 分类

⭕ 算术运算符
⭕ 赋值运算符
⭕ 比较运算符(关系运算符)
⭕ 逻辑运算符
⭕ 位运算符
⭕ 三元运算符

3. 算术运算符

JavaSE基本语法(上),你确定都懂了吗?
⭕ 基本四则运算符:加减乘除模(+ - * / %)

(1)"+"、"-"、"*"、"/"、"%"这些运算符都是二元运算符,使用时必须要有左右两个操作数。

(2)做除法(/)和取模(%)时,右操作数不能为 0 。

(3)在Java中,"%"不仅可以对整数取模,也可以对小数取模,当两侧操作数类型不一致时,向类型范围大的提升。

(4)被模数 % 模数 = 结果
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。
但被模数是负数时则不可忽略,即结果的符号是正还是负,完全取决于被模数的符号,且与被模数的符号一致。 此外,取模运算的结果不一定总是整数。

System.out.println(10%3);//1
System.out.println(10%-3);//1
System.out.println(-10%3);//-1
System.out.println(-10%-3);//-1

(5)对于除号"/",它的整数除和小数除是有区别的:

  1. 整数之间做除法时,结果还是整数类型,只保留整数部分而舍弃小数部分,而且会向下取整。
  2. 小数之间做除法时,结果会保留小数部分。
int x=3510;
x=x/1000*1000; 
System.out.println(x)//3000

(6)“+”除字符串相加功能外,还能把非字符串转换成字符串。

System.out.println(5+5=+5+5); //5+5=55

⭕ 增量运算符"+= "、 "-="、 "*="、 "%="

(1)该类型运算符操作完成后,会将操纵的结果赋值给左操作数 。

(2)只有变量才能使用该运算符,常量不能使用。

int a = 1;
a += 2; // 相当于 a = a + 2
System.out.println(a); // 输出3
a -= 1; // 相当于 a = a - 1
System.out.println(a); // 输出2
a *= 3; // 相当于 a = a * 3
System.out.println(a); // 输出6
a /= 3; // 相当于 a = a / 3
System.out.println(a); // 输出2
a %= 3; // 相当于 a = a % 2
System.out.println(a); //输出2

⭕ 自增/自减运算符"++"、" --"

(1)++是给变量的值+1,–是给变量的值-1。

(2)该种运算符分为前置运算符(++a)和后置运算符(a++
● 单独使用时,【前置++】和【后置++】没有任何区别。
● 混合使用时,
【前置++/–】先+1,然后再使用+1或-1之后的变量值。
【后置++/–】先使用变量原来的值,表达式结束时再给变量+1或-1。

(3)只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改.

4. 赋值运算符

(1) 符号:=

(2)当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。

(3)支持连续赋值。

5. 比较运算符

JavaSE基本语法(上),你确定都懂了吗?

(1)比较运算符的结果都是boolean型,也就是要么是true,要么是false

(2)注(开发中常犯错误):比较运算符"=="不能误写成"="

(3)在Java中 = 表示赋值,在Java中 == 表示相等。 当需要多次判断时,不能连着写。比如:3 < a < 5,这是错误的写法。应该写作3<a && a<5

6. 逻辑运算符

符号 名称
& 逻辑与
| 逻辑或
逻辑非
&& 短路与
|| 短路或
^ 逻辑异或

(1) 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6

(2)“&”和“&&”的区别:
● 单&时,左边无论真假,右边都进行运算;
● 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

(3)“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

(4)异或( ^ )与或( | )的不同之处是:
当左右都为true时,结果为false。 理解:异或,追求的是“异”!

JavaSE基本语法(上),你确定都懂了吗?

7. 位运算符

JavaSE基本语法(上),你确定都懂了吗?

(1)位运算是直接对整数的二进制进行的运算。

JavaSE基本语法(上),你确定都懂了吗?

8. 三元运算符

(1)格式:

JavaSE基本语法(上),你确定都懂了吗?

(2)表达式1和表达式2必须为同种类型。

(3)表达式不能单独存在,其产生的结果必须要被使用。

(4)三元运算符与if-else的联系与区别:
● 三元运算符可简化if-else语句
● 三元运算符要求必须返回一个结果。
if后的代码块可有多个语句

9. 运算符的优先级

(1)运算符有不同的优先级,所谓优先级就是表达式运算中的运 算顺序。如下表,上一行运算符总优先于下一行。

(2) 只有单目运算符、三元运算符、赋值运算符是从右向左运算的。

JavaSE基本语法(上),你确定都懂了吗?

四、关键字与保留字

1. 关键字

(1)定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)。
(2)特点:关键字中所有字母都为小写
(3)官方地址:点击跳转

用于定义数据类型的关键字:

class interface enum byte short
int long float double char
boolean void

用于定义流程控制的关键字:

if else switch case default
while do for break continue
return

用于定义访问权限修饰符的关键字:

private protected public

用于定义类,函数,变量修饰符的关键字:

abstract final static synchronized

用于定义类与类之间关系的关键字:

extends implements

用于定义建立实例及引用实例,判断实例的关键字:

new this super instanceof

用于异常处理的关键字:

try catch finally throw throws

用于包的关键字:

package import

其他修饰符关键字:

native strictfp transient volatile assert

用于定义数据类型值的字面值:

true false null

2. 保留字

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 gotoconst


关注并私信博主,可领JDK1.8中文版!

版权声明:程序员胖胖胖虎阿 发表于 2023年9月1日 上午2:16。
转载请注明:JavaSE基本语法(上),你确定都懂了吗? | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...