Java-基础语法

0731-0805

​ 通过本周的学习,我对Java有了初步的掌握,但仍然需要不断加强实践和练习,以加深理解和熟练运用。我计划在接下来的学习中,注重编程实践,通过解决实际问题来提升自己的编程能力。

  1. 学习了Java的数据类型和变量:掌握了基本的数据类型(int,double,boolean等)和变量的声明与使用,了解了数据类型转换和运算符的基本使用方式。
  2. 深入了解了Java的流程控制结构:学习了条件语句(if-else,switch)和循环语句(for,while,do-while),并通过练习掌握了它们的基本用法和注意事项。

1.Java 快速入门

JDK下载安装

  • 官网:https://www.oracle.com/java/technologies/

  • 环境变量配置

    • 方法一:在系统环境变量的Path里面配置JDK安装的BIN的完整目录

      如:D:kaifamiao\jdk-17.0.32\bin

    • 方法二:系统环境变量里先配置JAVA_HOME

      变量名为:JAVA_HOME

      变量值为:D:kaifamiao\jdk-17.0.32

      然后再Path里面配置%JAVA_HOME%\bin

cmd常见命令

  • JDK查看编工具和运行工具版本号的命令:javac -versionjava -version

    010203040506E: //切换到E盘
    cd [目录] //进入指定的目录
    cd .. //退回到上一级目录
    cd / //退回到根目录
    dir //显示当前目录下所有的内容
    cls //清空屏幕
    

JDK的组成

  1. JVM:Java虚拟机,真正运行Java程序的地方
  2. 核心类库:Java自己写好的程序,给程序员自己的程序进行调用的
  3. JRE:Java的运行环境
  4. JDK:Java开发工具包(上面的所有)

javadoc命令

  • 文档注释是一种特殊的注释格式,用于为 Java 程序中的类、方法、字段等元素提供文档说明。文档注释以 /** 开始,以 */ 结束,可以包含多行描述性文本和标记

  • 文档注释是一种标准的注释格式,在使用工具生成 API 文档时可以被提取出来,用于生成详细的程序文档。它们提供了对代码的解释、使用示例、参数说明、返回值说明等重要信息,帮助其他开发者理解和使用代码

  • 标签作用
    @author标识一个类的作者
    @param方法的参数
    @return标明返回值类型,一般用于方法注释,不能出现在构造方法中
    {@value}显示常量的值,该常量必须是 static 属性
    @since版本号,标明从哪个版本起开始有这个函数
    @version指定类的版本
    @exception可能抛出异常的说明,一般用于方法注释
    @throws也是可能抛出异常的说明
    @serial说明一个序列化属性
    @serialData说明通过 writeObject() 和 writeExternal() 方法写的数据
    @serialField说明一个 ObjectStreamField 组件
  • javadoc 命令语法格式如下:

    01 javadoc [options] [packagenames][sourcefiles] 
    

    格式说明:
    (1)options 表示 javadoc 命令的选项;
    (2)packagenames 表示包名;
    (3)sourcefiles 表示源文件名。

2. Java基础语法

注释

1.单行注释:
	// 后面根解释文字
2.多行注释
	/*
		这里写注释文字
		可以写多行
	*/
3.文档注释
	/**
		这里写文档注释
		也可以写多行,文档注释可以利用JDK的工具生成帮助文档
	*/

字面量

常用数据生活中的写法程序中的写法说明
整数666,-88666,-88,0写法一致
小数13.14,-5.2113.14,-5.21写法一致
字符A,0,我‘A’,‘0’,'我程序中必须使用单引号,有且仅能一个字符
字符串开发喵“开发喵”,“0”程序中必须使用双引号,内容可有可无
布尔值真,假true\false只有两个值,true表示真,false表示假
空值值是null一个特殊的值,空值

变量

数据类型 变量名称 = 初始值;

标识符

  1. 标识符由字母( A~Z 和 a~z )、数字(0~9)、下划线(_)、美元符号($)以及部分Unicode字符集(各符号之间没有空格)组成。
  2. 标识符的首字母以字母、下划线或美元符号开头,后面可以是任何字母、数字、美元符号或下划线,但不能以数字开头。
  3. 标识符的命名不能是关键字、布尔值(true、false)和null。
  4. 标识符区分大小写,没有长度限制。

关键字

abstractdefaultifprotectedthrows
assertdoimplementspublictransient
booleandoubleimportreturntry
breakelseinstanceofstrictfpvoid
byteenumintshortvolatile
caseextendsinterfacestaticwhile
catchfinallongsuper_
charfinallynativeswitch
classfloatnewsynchronized
constforpackagethis
continuegotoprivatethrow

数据类型转换

自动类型转换(扩展原始转换)

byte
short
int
long
float
double
char

多种数据类型参与运算,其结果以大的数据类型为准
byte,short,char 三种类型数据在和其他类型数据运算时,都会转换为int类型再运算

强制类型转换(缩小原始转换)

目标数据类型 变量名 = (目标数据类型)被转换的数据;

运算符

运算符就是参与运算的符号。Java提供的运算符有很多种,可以分为下面几种:

  • 基本算术运算符
  • 自增自减运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 三元运算符

算术运算符

算术运算符有 + - * / % ,其中 * 表示乘 法, / 表示除法, % 表示取余数。

符号作用说明
+与算术的相加相同
-与算术的相减相同
*与“X”相同
/与“÷”相同,注意:再java中两个整数相除结果还是整数
%取余获取的是两个数据做除法的余数

需要主义的是: +除了用于加法运算,还可以作连接符。 + 符号与字符串运算的额时候是用作连接符的,其结果依然是一个字符串。

自增自减以运算符

++ 读作自增、--读作自减。

运算规则:

符号作用
自增:++放在某个变量的前面或后面,对变量自身的值加1
自减:——放在某个变量的前面或后面,对变量自身的值减1

赋值运算符

基本的复制运算符=,意思是把右边的数值赋值给左边的变量。

int a = 10;     //将数据10赋值给左边的变量

除了基本的赋值运算符,我们在了解一下扩展的运算符,有:+=,-=,8=,/=,%=

符号用法作用底层代码形式
+=a+=b加后赋值a=(a的类型)(a+b;
-=a-=b减后赋值a=(a的类型)(a-b;
*=a*=b乘后赋值a = (a的类型)(a * b);
/=a/=b除后赋值a = (a的类型)(a / b);
%=a%=b取余后赋值a = (a的类型)(a % b);

关系运算符

关系运算符在程序中常用于条件判断,根据条件判断的结果是true还是false,来决定 后续该执行哪些操作。

逻辑运算符

逻辑运算符在程序中常用于组合几个条件判断,根据条件判断的结果是true还是 false,来决定后续该执行哪些操作。

位运算符

在计算及内部,数据以二进制(0和1)的形式存储和处理。计算机通过数据转换为二进制形式,将其存储在内存中,并对其进行操作和计算和操作。不同的数据类型在内存中占据不同的二进制位,以便正确的表示和处理数据。

  1. 源码:源码是一种最简单的机器数表示法,其中最高表示符号位,其余位表示该数的二进制的绝对值。
  2. 反码:正数的反码与与原码相同,而负数的反码是其原码除符号位外,按位取反的结果。
  3. 补码:正数的补码等于其补码,而负数的补码等于其反码加1。

三元运算符

三元运算符格式:

数据类型 变量名 = 关系表达式 ?1 :2;

三元运算的执行流程:首先计算关系表达式的值,如果关系表达式的值为true,则返 回值1;如果关系表达式的值为false, 则返回值2。

运算优先级

在实际开发中,其实我们很少考虑运算优先级, 因为如果 你想让某些数据先运算,其实加 () 就可以了,这样阅读性更高。

运算符结合性
[ ] . ( ) (方法调用)从左向右
! ~ ++ – +(一元运算) -(一元运算)从右向左
* / %从左向右
+ -从左向右
> >>>从左向右
< >= instanceof从左向右
== !=从左向右
&从左向右
^从左向右
|从左向右
&&从左向右
||从左向右
? :从右向左
=从右向左

程序流程控制

3种:顺序、分支、循环

顺序结构:就是不加任何控制,代码从main方法开始自上而下执行

分支结构:就是根据条件判断是true还是false,有选择性的执行哪些代码。在Java语言中提供了两个格式if 、 switch

循环结构:就是控制某一段代码重复执行。在Java语言中提供了三种格式,for、while、do-while还有1.5新增的for-each循环,可以迭代(遍历)数组

分支结构:

if分支:

作用:是用于对条件进行判断,判断的结果只可能有两个值true或者false,然后根据条件判断的结果来决定执行那段代码。

第一种形式:

if(表达式){
		代码块
}

第二种形式:

if(表达式){
	代码块1
}else{
	代码块2
}

第三种形式:

if(表达式1){
	代码块1
}else if(表达式2){
	代码块2
}else if(表达式3){
	代码块3
}else{
	代码块4
}

嵌套if语句:

if(表达式1){
	if(表达式2){
}elese{代码块2
}
}else{
	if(表达式3){
}else{代码块3
}
}
switch分支

作用:是通过比较值来决定执行哪条分支代码。

switch分支的执行流程

1.先执行表达式的值,在用这个值与case后的值进行匹配

2.与那个case后的值匹配为true就执行那个case的代码,遇到break就退出

3.如果全部case后的值与之匹配都是false,则执行default中的代码

注意:

表达式类型只能是byte、short、int、char;JDK5开始支持枚举,JDK1.7(java7)开始支持String,不支持double、float等

case给出的值不允许重复,且只能是字面量,不能是变量。

正常使用switch的时候,不要忘记写break,否则会出现穿透现象。

case穿透

当switch语句中没有遇到break,就会直接穿透到下一个case语句执行,直到遇到break为止。

switch分支特性:
1.箭头表达式
2.yield
if 、switch作用场景:

如果是对一个范围进行判断,建议使用if分支结构

- 如果是与一个一个的值比较的时候,建议使用switch分支结构

循环结构:

while(循环条件){
	循环体
}
for(循环变量初始化;循环条件;改变循环变量的值){
		循环体
}
for、whil使用场景:

for知道循环次数

while不知循环次数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值