JavaSE之java基础语法

news/2024/9/24 23:23:04

关键字和保留字

关键字定义和特点

定义:被java语言赋予了特殊含义,用作专门用途的字符串。

特点:关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。

用于定义数字类型的关键字
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 pubic
用于定义类、函数、变量修饰符的关键字
abstract final staic synchronized
用于定义类与类之间关系的关键字
extends improtants
用于建立实例及引用类型,判断实例的关键字
new this super instanceof
用于异常处理的关键字
try catch finally throw throws
用于包的关键字
package import
其他修饰符关键字
native strictfp transient volatile assert
用于定义数据类型值的字面值
true false null

保留字

定义: 现在java尚未使用,但以后版本可能会作为关键字使用。自己使用时应避免使用。

基本数据类型

img

整数类型(int为默认类型)

类型 占用储存空间 表数范围
byte 1字节 -128~127
short 2字节 $-2{15}$~$2$-1
int 4字节 $-2{31}$~$2$-1
long 8字节 $-2{63}$~$2$-1

注意:java的整型常亮默认为int型,声明long型常量须后加 'l'或'L'

浮点类型(double为默认类型)

类型 占用储存空间 表数范围
float 4字节 -3.4e+38 ~ 3.4e+38
double 8字节 -1.79E+308 ~ +1.79E+308

注意:Java 的浮点型常量默认为double型,声明float型常量,须后加 'f'或'F'

字符类型(char)

类型 占用储存空间
char 4字节

注意:char类型是可以进行运算的。因为它都对应有Unicode码。

布尔类型(boolean)

类型 占用储存空间
boolean 1字节

注意:boolean类型数据只允许取值true和false,无null。
boolean类型不可以转换为其它的数据类型。

Java中的转义字符

转义字符 含义
\n 表示换行
\t 表示横向跳格,作用同tab键
\b 表示退格
\r 表示回车
\f 表示走纸换页
\\ 表示反斜杠字符
\’ 表示单引号字符
\” 表示双引号字符
\d 表示八进制字符
\xd 表示十六进制字符
\ud 表示Unicode字符

运算符

算术运算符

算术运算符 名称 举例
+ 加法 5+12=17
- 减法 20-5=15
* 乘法 3*7=21
/ 除法 4/2=2
% 求余 24%7=3
++ 自增1 int i = 5;i++
-- 自减1 int i = 5;i--

自增(自减)运算符:++,–

例:a++;先赋值后运算

int a = 1;
int b = a++;
System.out.print(a);//a=2
System.out.print(b);//b=1

例:++a;先运算后赋值

int a = 1;
int b = ++a;
System.out.print(a);//a=2
System.out.print(b);//b=2

赋值运算符

运算符 名称 举例
= 赋值 c=a+b将把a+b得到的值赋给c
+= 加等于 c+=a等价于c=c+a
-= 减等于 c-=a等价于c=c-a
*= 乘等于 c=a等价于c=ca
/= 除等于 c/=a等价于c=c/a
%= 模等于 c%=a等价于c=c%a

比较运算符(关系运算符)

比较运算符 名称 举例 结果
> 大于 a=5;b=2;a>b; true
< 小于 a=5;b=2;a<b; false
>= 大于等于 a=5;a>=3; true
<= 小于等于 a=5;b=2;b<=a; true
== 等于 a=5;b=2;a==b; false
!= 不等于 b=2;b!=2; false

注意:
1.>、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2.== 、 != 两边的操作数既可以是数值类型,也可以是引用类型
3.== 比较基本数据类型时,比较的是值。比较引用数据类型时比较的是地址。

逻辑运算符

逻辑运算符 名称 举例 结果
&& a&&b 如果a与b都为true,则返回true
|| a||b 如果a与b任一为true,则返回true
! !a 如果a为false,则返回true,即取反
^ 异或 a^b 如果a和b有且只有一个为true,则返回true

“&”和“&&”的区别
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

位运算符

位运算符 含义
<< 空位补0,被移除的高位丢弃,空缺位补0。
>> 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
>>> 被移位二进制最高位无论是0或者是1,空缺位都用0补。
& 二进制位进行&运算,只有1&1时结果是1,否则是0;
| 进制位进行|运算,只有0|0时结果是0,否则是1;
^ 相同二进制位进行运算,结果是0;11=0,00=0不相同二进制位运算结果是1。10=1.01=1
~ 正数取反,各二进制码按补码各位取;反负数取反,各二进制码按补码各位取反

三元运算符

语法形式:布尔表达式 ? 表达式1:表达式2
布尔表达式为true,运算结果为表达式1。反之,结果为表达式2。

int a = (10>3) ? 5 : 10;//10>3为true,a=5
int a = (10<3) ? 5 : 10;//10<3为false,a=10

程序流程控制

结构化程序设计中规定的三种基本流程结构,分别为:顺序结构,分支结构,循环结构。

顺序结构

程序由上向下执行。

public class Test{int num1 = 12;int num2 = num1 + 2;
}//java中定义成员变量时采用合法的向前引用。

分支语句if-else

public class Test{int a = 1;      if(a>1){...}else{...}
}//java中定义成员变量时采用合法的向前引用。

分支语句switch-case

public class SwitchTest {public static void main(String args[]) {int i = 1;switch (i) {case 0:System.out.println("one");break;case 1:System.out.println("two");break;default:System.out.println("other");break;}}
}

循环结构

循环结构:for循环

public class ForLoop {public static void main(String args[]) {int result = 0;for (int i = 1; i <= 100; i++) {//1.初始化部分 2.循环条件部分 3.迭代部分result += i;//循环体部分}System.out.println("result=" + result);}
}

循环结构:while循环

public class WhileLoop {public static void main(String args[]) {int result = 0;int i = 1;//1.初始化部分while (i <= 100) {//循环条件result += i;//循环体部分i++;//迭代部分}System.out.println("result=" + result);}
}

循环结构:do-while循环

public class DoWhileLoop {public static void main(String args[]) {int result = 0, i = 1;//初始化部分do {result += i;//循环体部分i++;//迭代部分} while (i <= 100);//循环条件部分System.out.println("result=" + result);}
}

特殊关键字break,continue

break语句

break语句用于终止某个语句块的执行

public class BreakTest{public static void main(String args[]){for(int i = 0; i<10; i++){ if(i==3)break;//当条件成立时,终止for循环	System.out.println(" i =" + i);}System.out.println("Game Over!");}
}

continue语句

continue只能使用在循环结构中
continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环

public class ContinueTest {public static void main(String args[]){for (int i = 0; i < 100; i++) {if (i%10==0)continue;//跳出成立的循环System.out.println(i);}  }  
} 

参考资料

  • java基本语法(史上最全)
  • Java语言基本语法
  • java基础(一) 深入解析基本类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/30896.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

搭建基于vsftpd的本地yum源服务器

注意防火墙和安全机制selinux 挂载光盘镜像至FTP服务端(/var/ftp/自定义目录如centos7)手写yum源 # ip记得换成自己的ip vi /etc/yum.repos.d/ftp.repo [ftp] name=ftp baseurl=ftp://192.168.1.10/centos7 gpgcheck=0验证结果 yum clean all yum repolist

Open Feign

1.Open Feign介绍 Spring Cloud OpenFeign是一种基于Spring Cloud的声明式REST客户端,它简化了与HTTP服务交互的过程。它将REST客户端的定义转化为Java接口,并且可以通过注解的方式来声明请求参数、请求方式、请求头等信息,从而使得客户端的使用更加方便和简洁。同时,它还提…

论文阅读:基于无监督集成聚类的开放关系抽取方法

谢斌红,李玉,赵红燕. 基于无监督集成聚类的开放关系抽取方法. 中文信息学报. 2022, 36(5): 49-58 相关工作关系抽取(RE)旨在从纯文本中抽取两个实体之间的关系,并以三元组形式进行描述。 传统的关系抽取方法主要是有监督的分类模型,需要一组预定义的关系标签和大量的标注数据…

2024广东大学生攻防大赛WP

Misc 猜一猜题目描述: 你们想要的flag就在压缩包里面。压缩包文件名 解密解压密码为a1478520 然后修改flag.png文件头得到扫描二维码之后 ❀❁❀❇❀✼❀❂✿❆✿✽❁❀✿✾❂❅✿❄❂❉❀✿❂❆❀❃❀✿❂❆✿❀❁✾✻✿❁❁❀❁❂❊✻❂✿❈=花朵解密 https://www.qqxiuzi.c…

struts实验

Java EE架构程序设计实验作业 实验名称:利用JSP+Struts2+JDBC+Mysql校园宿舍管理系统 一、实验项目功能 增加了学生登录系统的评价和建议功能,学生可以书写对学校宿舍或者管理员的评价和建议。可以进行修改和删除。 管理员登录系统可以查看所有的评鉴和建议,可以按照宿舍楼号…

C#实现图片转Base64字符串.并支持markdown文件打开展示

引用1.0.3版本或以上的Wesky.Net.OpenTools 包 1.0.3 版本提供图片转Base64字符串方案,并提供根据后缀名自动识别Mime类型,合成标准URI 开源项目地址: Gitee:https://gitee.com/dreamer_j/open-tools.git Github:https://github.com/LittleLittleRobot/OpenTools.git 为了简…

Tomcat中为什么要使用自定义类加载器

Tomcat 使用自定义类加载器主要是基于以下几个关键原因:1.应用隔离:Tomcat作为一个Web容器,能够同时部署和运行多个Web应用程序。每个应用可能依赖不同的库版本或者包含同名类,为了确保每个应用的类库相互独立,避免类冲突,Tomcat 为每个Web应用提供了一个独立的类加载器实…

OSCP靶机训练Kitoptrix Level 3

Vulnhub——KioptrixVM3 前期准备:kali攻击机:10.0.0.4 靶机:10.0.0.12 将两台机器都设置为NAT模式渗透过程: 第一步:存活主机探测 arp-scan -l第二步:端口扫描 nmap --min-rate 10000 -p- 10.0.0.12第三步:基本信息扫描 nmap -sT -sC -sV -O -p22,80 10.0.0.12第四步:…