java基本语法(史上最全)

article/2025/10/7 16:08:58

java基本语法(史上最全)

(一)关键字和保留字

关键字的定义和特点

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

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

在这里插入图片描述

在这里插入图片描述

2.保留字

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

(二)标识符

标识符

凡是可以自己命名的地方都叫标识符。例如:包名,类名,方法等。

定义合法标识符规则

1.有26个英文字母大小写,0-9,_或$组成。

2.不能以数字开头。

3.不可以使用关键字和保留字,但能包含关键字和保留字。

4.严格区分大小写。

5.标识符不能包含空格。

java中的名称命名规范

1.包名:多单词组成时所有字母都小写:xxxyyyzzz

2.类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

3.变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

4.常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

(三)变量

变量的概念

1.内存中的一个储存区域。

2.该区域的数据可以在同一类型范围内不断变化。

3.变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

变量的作用

用于内存中保存数据。

变量的声明

语法:<数据类型> <变量名称>

int a;

变量的赋值

语法:<变量名称> = <值>

a = 10;

注意:java中每个变量必须要先声明,后使用。

变量的声明和赋值

语法:<数据类型> <变量名> = <初始化值>

int a = 10;

在方法体外,类体内声明的变量称为成员变量。

在方法体内部声明的变量称为局部变量。

二者在初始化方面的异同

同:都有生命周期。 异:局部变量除形参外,需要初始化。

(四)基本数据类型

在这里插入图片描述

自动类型转换(隐式)

1.特点:代码不需要进行特殊处理,自动完成

2.规则:数据范围从小到大

例如:int类型自动转化为long类型

long b = 10;

在这里插入图片描述

注意:

1.byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

2.boolean类型不能与其它数据类型运算。

3.当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。

强制类型转换(显示)

1.特点:代码需要进行特殊的格式处理,不能自动完成

2.规则:数据范围由小到大

格式如下:

int b = (int)10L;

整数类型:byte,short,int,long

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

浮点类型:float、double

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

字符类型:char

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

布尔类型:boolean

注意:boolean类型数据只允许取值true和false,无null。

boolean类型不可以转换为其它的数据类型。

(五)运算符

运算符的分类

1.算术运算符

在这里插入图片描述

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

例: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

2.赋值运算符

在这里插入图片描述

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

在这里插入图片描述

注意:

1.>、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2.== 、 != 两边的操作数既可以是数值类型,也可以是引用类型

3.== 比较基本数据类型时,比较的是值。比较引用数据类型时比较的是地址。

4.逻辑运算符

在这里插入图片描述

“&”和“&&”的区别

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

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

5.位运算符

在这里插入图片描述

位运算是直接对整数的二进制进行的运算

6.三元运算符

语法形式:布尔表达式 ? 表达式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

if语句三种格式:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

分支语句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;}}
}

注意:

1.switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);

2.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾

循环结构

循环语句由四个组成部分

1.初始化部分

2.循环条件部分

3.循环体部分

4.迭代部分

循环结构: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);}
}

注意:while与do…while的区别

  1. while: 先判断 再执行 条件不成立 循环体 一遍都不执行
  2. do…while: 先执行 再判断 条件不成立 循环体 至少执行一遍

(八)特殊关键字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);}  }  
} 

注意:

1.return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。

2.与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内


http://chatgpt.dhexx.cn/article/eWagLy8j.shtml

相关文章

Linux Makefile ifeq正确使用

今晚和昨晚捣鼓了很久ifeq&#xff0c;怎么也得不出正确结果。当时我是这么用ifeq的 all: ifeq("ad","cd") echo yes else echo no endif 得出的结果是&#xff1a; 后来经仔细对比发现要这样写 all: ifeq ("ad", "cd&q…

关于shiro

shiro ​ shiro处理的两个过程&#xff0c;一个是登录&#xff0c;这个过程完成后产生一个用户jwt&#xff0c;一个是访问接口时&#xff0c;通过jwt来完成验证的过程 登录逻辑&#xff1a; 访问接口逻辑&#xff1a; 认证&#xff08;authentication&#xff09;&#xff1a…

shiro的简单介绍

1.Shiro的简单配置 1&#xff09; 获取ShiroFilterFactoryBean&#xff0c;作用是在执行相关操作前&#xff0c;先进行功能过滤&#xff0c;拦截所有请求&#xff0c;进入到shiro中进行认证与授权 例如&#xff1a;设置一些拦截的请求 // 身份认证失败&#xff0c;则跳转到登录…

Shiro相关基础知识

文章目录 前言一、Shiro相关基础知识1.Shiro是什么2.Shiro具体功能3.Shiro的整体结构与重要组件4.Shiro各模块基础知识1&#xff09;Authentication 认证模块2&#xff09;Authorization 授权模块3&#xff09;Realm 认证模块 5.Shiro集成到web应用 二、Shiro相关漏洞1. Shiro漏…

面试总结:Shiro框架

文章目录 Apache Shiro框架1. 简单介绍一下Shiro 框架2. Shiro 主要的四个组件3. Shiro 运行原理4. Shiro 的四种权限控制方式5. 授权实现的流程&#xff08;1&#xff09;、什么是粗颗粒和细颗粒权限&#xff1f;&#xff08;2&#xff09;、粗颗粒和细颗粒如何授权&#xff1…

shiro安全框架详解。面试必备

shiro核心就是过滤器。 认证授权流程&#xff1a; ● 认证&#xff1a;对用户的身份进行检查&#xff08;登录验证&#xff09; ● 授权&#xff1a;对用户的权限进行检查&#xff08;是否有对应的操作权限&#xff09; ● 流程图&#xff1a; 权限管理 实现权限的动态分配&a…

面试专题系列-Shiro

1.什么是shiro Apache Shiro 是 Java 的一个安全框架。使用 shiro 可以非常容易的开发出足够好的应用&#xff0c;其不仅可以用在 JavaSE环境&#xff0c;也可以用在 JavaEE 环境。Shiro 可以帮助我们完成&#xff1a;认证、授权、加密、会话管理、与 Web 集成、缓存等。 2.Sh…

shiro(详解)

这里写自定义目录标题 什么是shiro什么是权限管理什么是身份认证什么是授权SubjectSecurityManagerAuthenticatorAuthorizerRealmSessionManagerSessionDAOCacheManagerCryptography面试题认证的开发1. 创建项目并引入依赖2. 引入shiro配置文件并加入如下配置 自定义Realm自定义…

【JAVA面试题整理】框架之Shiro

一、简单介绍一下Shiro框架 Apache Shiro是java的一个安全框架。使用shiro可以非常容易的开发出足够好的应用&#xff0c;其不仅可以用在JavaSE环境&#xff0c;也可以用在JavaEE环境。Shiro可以帮助我们完成&#xff1a;认证、授权、加密、会话管理、与Web集成、缓存等。 三…

shiro总结

shiro主要内容: 1:SecurityUtils shiro提供的工具类,主要作用是获取 SecurityManager和Subject public abstract class SecurityUtils {private static SecurityManager securityManager;//获取Subjectpublic static Subject getSubject() {Subject subject ThreadContext.…

Java面试系列总结 :Shiro

1. 简单介绍一下Shiro框架 Apache Shiro是Java的一个安全框架。使用shiro可以非常容易的开发出足够好的应用&#xff0c;其不仅可以用在JavaSE环境&#xff0c;也可以用在JavaEE环境。Shiro可以帮助我们完成&#xff1a;认证、授权、加密、会话管理、与Web集成、缓存等。 三个…

Shiro知识总结二

3. 与 Spring Boot 整合 3.1 框架整合 依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>o…

Shiro相关知识

1、Shiro功能概述 Apache Shiro是一个功能强大且易于使用的 Java 安全框架&#xff0c;可执行身份验证、授权、加密和会话管理。 主要功能&#xff1a; Authentication&#xff1a;身份认证。登录时验证身份信息。 Authorization&#xff1a;授权操作。访问控制的过程&…

Spring、SpringMVC、Shiro面试题

Tags : JavaEE,Spring,面试题发表时间&#xff1a; 2014-11-29 15:03:53 原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 比如&#xff1a; 转自&#xff1a;Su的技术博客 原文地址&#xff…

Shiro知识总结一

1. 基础知识 1.1 什么是Shiro Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。Shiro 可以完成&#xff1a;认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应…

Shiro总结面试问题

Shiro总结 Shiro可做哪些事&#xff1a; 认证、授权、加密、会话管理、与web集成、缓存等 最简单的Shiro应用是怎样运行的&#xff1a; 应用代码通过Subject来进行认证和授权&#xff0c;而Subject又委托给SecurityManager 我们需要给Shiro的SecurityManager注入Realm,从而让S…

python中socket进行多线程,利用 Socket怎么在Python项目中实现一个多线程并发功能...

利用 Socket怎么在Python项目中实现一个多线程并发功能 发布时间:2020-12-11 13:55:06 来源:亿速云 阅读:95 作者:Leah 这篇文章给大家介绍利用 Socket怎么在Python项目中实现一个多线程并发功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 1.S…

Jmeter多线程并发和压测结果分析

一、多线程并发 1. 线程组简介: (1). 线程数: 配置虚拟用户数量 (2). Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。 (3). 循环次数 (4). 调度器-持续时间(秒),压测多长时间…

面试必问!多线程并发问题

多线程并发问题&#xff0c;基本是面试必问的。 大部分同学应该都知道Synchronized&#xff0c;Lock&#xff0c;部分同学能说到volatile、并发包&#xff0c;优秀的同学则能在前面的基础上&#xff0c;说出Synchronized、volatile的原理&#xff0c;以及并发包中常用的数据结…

实际场景中的多线程并发编程案例

目录 使用多线程的意义&#xff1a; CountDownLatch 案例一&#xff1a;多线程同步发起并发请求 案例二&#xff1a;rocketmq内&#xff0c;每个broker将自己注册到所有的nameserver时 案例三&#xff1a;利用异步线程实现同步请求 CompletableFuture 应用一&#xff1a…