Lazy loaded image
学习历程
Javaday01-面向过程
Words 2402Read Time 7 min
2025-2-20
2025-2-20
type
status
date
slug
summary
tags
category
icon
password
复习(预习)Java基础

语法基础

变量与常量

变量:指值可以变的量。
声明过程:
  • 标识符可以由大小写字母、数字、下划线(_)和美元符号($)组成,但是不能以数字开头。
  • 变量不能重复定义,大小写敏感,比如A和a就是两个不同的变量。
  • 不能有空格、@、#、+、-、/ 等符号。
  • 应该使用有意义的名称,达到见名知意的目的(一般我们采用英文单词),最好以小写字母开头。
  • 不可以是 true 和 false。
  • 不能与Java语言的关键字或是基本数据类型重名
notion image
常量
使用final修饰

类型转换

类型转化:
  • 显示转化:int x = (int)'A';
  • 隐式转化:double x = 12;
 

整数类型:默认int

  • byte 字节型 (8个bit,1个字节)范围:-128~+127
  • short 短整形(16个bit,2个字节)范围:-32768~+32767
  • int 整形(32个bit,4个字节)范围:-2147483648 ~ +2147483647
  • long 长整形(64个bit,8个字节)
范围:-9223372036854775808 ~ +9223372036854775807
其中需要在数字后面加上大写或是小写的L。
  • 十六进制:ox开头。
  • 八进制:0开头。
正码反码补码的知识,java中,运用补码来表示,会导致范围多一个。
隐式类型转换:从存储范围小的类型到存储范围大的类型。

浮点类型:默认double

  • float 单精度浮点型 (32bit,4字节)
float f = 9.9F;常量后面添加大写或小写的F来表示这是一个float类型的常量值
  • double 双精度浮点型(64bit,8字节)
隐式类型转换规则:byte→short(char)→int→long→float→double

字符类型:char

ASCII:A是65

布尔类型

  • boolean :true or false

运算符

 
运算符类型
运算符
功能描述
示例
算术运算符
+, -, *, /, %
基本的数学运算
A + B = 30
自增自减
++, --
变量值增加或减少1
A++, --A
复合赋值
+=, -=, *=, /=, %=
运算并赋值的简写形式
A += B
关系运算符
>, <, >=, <=, ==, !=
比较两个值的关系
A > B
逻辑运算符
&&, ||, !
逻辑与、或、非运算
A && B

运算符优先级

优先级
运算符
结合性
1
( )
从左向右
2
~ - + (强制类型转换) ++ --
从右向左
3
* / %
从左向右
4
+ -
从左向右
5
<< >> >>>
从左向右
6
> < >= >=
从左向右
7
== !=
从左向右
8
&
从左向右
9
^
从左向右
10
|
从左向右
11
&&
从左向右
12
||
从左向右
13
? :
从右向左
14
= += -= *= /= %= &= |= ^= <<= >>= >>>=
从右向左

自加自减实例

 
  • 先出结果再自加
  • 先自加再出结果
  • 自增自减运算符的优先级与正负号等价

位运算

位运算符包括:
  • & (按位与):两个位都为1时,结果为1,否则为0
  • | (按位或):两个位都为0时,结果为0,否则为1
  • ^ (按位异或):两个位相同为0,不同为1
  • ~ (按位取反):0变1,1变0
  • >> (右移):各二进制位右移若干位,高位补0
  • << (左移):各二进制位左移若干位,低位补0
  • >>> (无符号右移):各二进制位右移若干位,高位补0
示例:
注意事项:
  • 位运算的优先级较低,使用时建议加括号
  • 移位运算的位数不能超过数据类型的总位数
  • 无符号右移>>>只对负数的处理与>>不同,对正数处理相同

关系运算符

关系运算符用于比较两个值之间的关系,返回布尔值(true/false)。主要包括:
  • == : 判断两个值是否相等
  • != : 判断两个值是否不相等
  • > : 判断左边值是否大于右边值
  • < : 判断左边值是否小于右边值
  • >= : 判断左边值是否大于等于右边值
  • <= : 判断左边值是否小于等于右边值
使用注意事项:
  • 浮点数比较时要注意精度问题,不建议直接使用==比较
  • 引用类型的比较应使用equals()方法而不是==

逻辑运算符

逻辑运算符用于组合多个条件,返回布尔值。主要包括:
  • && (与):两个条件都为true时,结果为true
  • || (或):两个条件至少有一个为true时,结果为true
  • ! (非):取反运算,true变false,false变true
短路运算:
  • &&:第一个条件为false时,不再判断第二个条件
  • ||:第一个条件为true时,不再判断第二个条件
优先级:
  • ! 的优先级最高
  • && 优先级高于 ||
  • 建议使用括号明确运算顺序

三目运算符

三目运算符(也称为条件运算符)是Java中唯一的三元运算符,其语法为:
运算规则:
  • 如果条件表达式的结果为true,则返回表达式1的值
  • 如果条件表达式的结果为false,则返回表达式2的值

流程控制

代码块与作用域

代码块是使用大括号 {} 括起来的一组语句。它定义了一个新的作用域,用于控制变量的可见性和生命周期。
作用域规则:
  • 变量只在声明它的代码块内可见
  • 内部代码块可以访问外部代码块的变量
  • 外部代码块不能访问内部代码块的变量
  • 同一作用域内不能声明同名变量
注意事项:
  • 代码块结束后,其中声明的变量会被销毁
  • 方法参数的作用域是整个方法体
  • 循环和条件语句的代码块也会创建新的作用域
  • 类的成员变量的作用域是整个类

选择结构

Java中的选择结构主要包括if语句和switch语句,用于根据不同条件执行不同的代码块。

if语句

基本形式:
多重if语句:

switch语句

基本语法:
注意事项:
  • switch表达式的类型只能是byte、short、int、char、枚举类型、String类型(Java 7及以上版本)
  • case语句中的值必须是常量表达式
  • 如果省略break语句,会发生"贯穿"现象
  • default分支是可选的,当没有case匹配时执行

循环结构

Java提供了三种基本的循环结构:while循环、do-while循环和for循环。

while循环

基本语法:
执行过程:
  • 先判断条件是否为true
  • 如果为true,执行循环体,然后重新判断条件
  • 如果为false,跳出循环

do-while循环

基本语法:
特点:
  • 循环体至少执行一次
  • 先执行循环体,再判断条件

for循环

基本语法:
执行过程:
  • 首先执行初始化部分
  • 判断条件是否为true
  • 为true时执行循环体,然后执行更新部分
  • 为false时结束循环
循环控制:
  • break:立即跳出当前循环
  • continue:跳过本次循环剩余代码,继续下一次循环
循环嵌套:
  • 循环可以嵌套使用
  • 内层循环每执行一遍,外层循环才会继续
  • break和continue默认只对最内层循环有效
上一篇
Javaday02-面向对象(一)
下一篇
大二下的新生活