JavaSE基础语法

目录

一、IDEA的使用

常用设置

代码模板

快捷键,代码提示 

二、注释的使用

三、关键字

四、标识符

五、变量

六、数据类型

 计算机存储单位 

基本数据类型转换 

七、运算符

算数运算

比较运算符

逻辑运算符

赋值运算符

条件运算符

位运算

控制台输入与输出

 ​​​​​​控制语句

条件语句

根据不同条件,执行不同语句

if,if...else,if...else if...else if...else

循环语句

重复执行某些相同操作

for,while,do...while

八、条件语句

 if-else语句与switch-case语句比较

九、循环

三种循环的比较 

do-while循环至少执行一次

三种循环可以实现相互转换

break&continue

循环嵌套

十、方法

调用方法


一、IDEA的使用

IDEA官方地址
IDEA下载地址

IDE(Integrated Development Environment)集成开发环境

一般包括代码编辑器、编译器、调试器和图形用户界面等工具。

常用的Java开发工具

  • IntelliJ IDEA(收费)
  • Eclips(免费)

之前安装的jdk是运行环境

idea开发工具(用于写代码)  

  • 下载和安装步骤:

进入官网下载->将其安装在"D:\Program Files\IntelliJ IDEA 2020.2.1\bin\idea64.exe"中->选择64-bit launcher(其他不用选)->等待安装即可

  • 创建项目并进入编程界面:

进入软件后选择Do not import settings->选择主题并选择Skip Remaining and Set Defaults->创建新项目->连续点击两次next->输入项目名->在项目名下的src进行新建->鼠标右键->new->Java Class,这样就可以进行编程了

  • 关闭项目:

选择菜单File->Close Project

  • 删除项目:

在关闭项目后,在弹出的窗口中,选择相应的项目,在右边点击删除

常用设置

  • 设置入口

显示工具栏:View->Appearance->Toolbar

之后设置直接点击扳手图标即可

或者

File->Settings

  • 主题设置

Appearance & Behavior ->Appearance->Theme

  • 鼠标滚轮设置字体大小

Editor->General->Change font size (Zoom) with Ctrl + Mouse Wheel

  • 行号,方法分隔符

Editor->General->Appearance->Show line numbers(行号)/Show method separators(方法分隔符)

  • 字体

Editor->General->Font(Font:那一行是字体样式,Size是字体大小,Line spacing是行间距)

  • 注释颜色

Editor->Color Scheme->Language Defaults->(Block comment(多行),Doc Comment(多行),Line comment(单行))

  • 修改文件编码

Editor->File Encodings(Global Encoding,Project Encoding),Transparent native-to-ascii conversion

  • 自动编译

Build,Execution,Deployment->Compiler->Build project automatically,Compile independment modules in parallel

  • 切勿开启省电模式,开启后将不进行代码提示

File->Power Save Mode

  • 拆分合并文件窗口

右键代码上方.java文件->Split and Move Right

代码模板

生成main方法 main 回车

sout 回车 System.out.println();
soutm 回车 输出方法名称
soutv 回车 输出变量,参数,就近输出
fori 生成for循环
iter 生成增强for循环
prsf  生成private static final
psfi  private static final int

快捷键,代码提示 

Ctrl+d 整行复制

Ctrl+x 整行删除

Ctrl+alt+L 代码格式化

Alt+回车  智能辅助

Editor->Live Templates->点击右上方'+'可进行自定义 

工程/项目

        out(编译后的class文件)

        src(源代码)

                包(文件夹,管理类)
                类(一个类也就是一个.java文件)

 main方法类似于c语言中的main函数

        这个格式是固定

        也是启动java程序的入口
        String表示java的字符串

public static void main(String[] args) {int a = 10;System.out.print(a); // 输出语句 不换行System.out.println(a);// 输出语句 自动换行}

二、注释的使用

  • //        单行注释,快捷键为CTRL+/
  • /*  */   多行注释,快捷键为Ctrl+shift+/,取消注释为CTRL+shift+/
  • /**   */ 文档注释,用于对类,类中变量,方法进行注释,在调用时将鼠标放在上面会显示说明
  • 注意多行注释和文档注释的区别

三、关键字

  • 定义:被java语言赋予特殊含义英文单词,主要用来修饰包,类,变量,方法(函数)
  • 特点:关键字所有字母都小写
用于定义数据类型的关键字
classinterfaceenumbyteshort
intlongfloatdoublechar
booleanvoid
用于定义流程控制的关键字
ifelseswitchcasedefault
whiledoforbreakcontinue
return
用于定义访问权限修饰符的关键字
privateprotectedpublic
用于定义类,函数,变量修饰符的关键字
abstractfinalstaticsynchronized
用于定义类与类之间关系的关键字
extendsimplements
用于定义建立实例与引用实例,判断实例的关键字
newthissuperinstanceof
用于异常处理的关键字
trycatchfinallythrowthrows
用于包的关键字
packageimport
其他修饰符关键字
nativestrictfptransientvolatileassert
*用于定义数据类型值的字面值
truefalsenull

 注意:关键字一共50个,其中const和goto是保留字

            java保留字:现在版本尚未使用,但以后可能会作为关键字使用

四、标识符

    1.定义:Java对各种变量、方法和类等命名时使用的字符序列,换言之,凡是自己可以起名字的名称都可以叫标识符。

    2.定义标识符的规则(必须遵守的语法规则)

  • 数字0~926个大小写英文字母下划线$组成
  • 不能以数字开头
  • 不可以使用关键字和保留字,但可以包含关键字
  • Java中严格区分大小写
  • 长度无限制
  • 不能包含空格

    3.标识符的命名规范(软性要求)

  • 起名时,为了提高阅读性,尽量有意义,“见名知意
  • Java中的名称命名规范
    • 包名:字母全部小写
    • 类名:建议每个单词的首字母大写       
    • 变量名,方法名:小驼峰式命名规则,首单词的首字母小写,从第二个单词开始首字母大写
    • 常量名:单词全部大写,多个单词时用下划线隔开
    • 尽量别以下划线和$作为开头或结尾 

五、变量

  • 定义: 变量是程序中最基本的存储单元,在程序运行过程中,值可以改变的量
  • 变量其实是内存中一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前要先定义(声明),然后必须进行赋值,才能使用。
  • 要素包括变量名,变量的类型
  • 数据类型  变量名  =  值;//使用前必须初始化值

六、数据类型

定义:程序中对于每一种数据都定义了明确的具体数据类型,在内存中 分配了不同大小的内存空间。

类型占用存储空间(字节)范围
byte1-128~127
short2-2^15~2^15-1
int4-2^31~2^31-1
long8-2^63~2^63-1

Java各整数类型由固定的范围,不受操作系统的影响,以保证Java程序的跨系统使用。

定义long类型的变量时,赋值时需要以'l'或'L'作为后缀,尽量使用'L',因为'l'与数字'1'比较相近。

Java语言的整数字面量默认为int类型。

0b开头 表示二进制数

0x开头 表示十六进制数

0开头   表示八进制数

 计算机存储单位 

字节(Byte):是计算机存储的基本单位,一个字节等于8 bit

(bit):是数据存储的最小单位。在二进制数系统中,每个0或1就是一位,叫做bit(比特),其中8 bit就称为一个字节(Byte)。

转换关系:8 bit = 1 Byte

               1024 Byte = 1KB

               1024 KB = 1 MB

               1024 MB = 1GB

               1024 GB = 1T 

类型占用的存储空间(字节)范围
float4-3.403E38~3.403E38
double8-1.798E308~1.798E308

Java浮点类型与整数类型类似,浮点类型也有固定的范围,不受操作系统影响

Java浮点类型由两种表示形式

  • 十进制数形式
  • 科学记数法形式 

float:单精度,可以精确到小数点后七位

double:双精度,精度是float的两倍,通常使用此类型。

定义float类型的变量时,赋值时需要以'f'或'F'作为后缀。

Java的浮点型常量默认为double类型

逻辑型boolean(布尔)

boolean类型适于逻辑运算,一般用于程序流程控制。

Java语言中boolean类型数据只允许取值为true或false。

注意不可以以0或非0的整数代替false和true,这点和C语言不同

字符型char 

char类型数据用来表示一个单个字符

char类型占2个字节。

用单引号引起来的一个英文字母或一个中文汉字都可以

由于Java底层使用unicode编码,所以可以涵盖世界上所有书面语的字符

char类型的运算

char类型在字符编码表中由对应的数值(当作整数)。

char类型可以用来参与算数运算,运算的本质使用的Unicode编码中十进制编号

ASCII(American Standard Code for Information Interchange,美国信息互换标准代码) 

在上个世纪60年代,美国制定了一套字符编码,对英文字符与二进制位的关系做了统一规定,这被称为ASCII码

ASCII:在计算机底层,所有数据都是用二进制来表示的,每一个二进制位(bit)有0和1两种状态,因此8个二进制位就可以组合出256中状态,这就被称为一个字(byte)

一个字节一共可以表示256种不同的状态,每一个状态对应着一个符号,从00000000到11111111.

ASCII码一共规定了128个字符的编码(包含32个不能打印出来的控制符号),只占用了一个字节的后7位,最前面的1位统一规定为0

缺点不能表示所有字符

Unicode(Universal Multiple-Octet Coded Character Set)

将世界上所有的符号都纳入其中。这个编号从0x000000到0x10FFFF(十六进制),有110多万,每个字符都有一个唯一的Unicode编号,这个编号一般写成16进制,在前面加上U+

java底层采用unicode编码来存储字符

String不是基本数据类型,属于引用数据类型

使用一对双引号引起来表示一个字符串,内部可以包含0,1或多个字符

声明方式:String 字符串名 = "dasfhklk";

String是Java类库中提供的一个类,用类当作变量的数据类型

运算法则:

  • 八种基本数据类型只能进行"+"(连接)运算,结果还是String类型
  • String不能转换成其他类型

基本数据类型转换 

转换分为默认转换和强制转换

规则:

  • 将范围小的类型自动转换为范围大的类型
  • 将范围大的类型转换为范围小的类型时,要加上强制类型转换符"()",但可能造成精度缺失或溢出
  • 在多种数据类型进行混合运算时,系统首先将所有数据类型转换成范围最大的那一个,然后再进行运算

 

浮点数在内存中的分配示意图
第1位第2~9位第10~33位
SEM

 浮点数不是简单的表示数字的大小,而是按照一定的标准来分配的。其中第1位(符号位),即S,第2~9位(指数域),即E,第10~32位(小数域),即M。浮点数不是直接转换位十进制数值的,二十按照公式(V = (-1)^S * M * 2^E)计算而来的,虽然只用到4个字节,但比长整型的最大值要大。

七、运算符

Java中的运算符
分类运算符
算数运算符+、-、*、/、%、++、--
赋值运算符=、+=、-=、*=、/=、%=
比较(或关系)运算符>、>=、<、<=、==、!=
逻辑运算符&、|、^、!、&&、||
位运算符&、|、^、~、<<、>>、>>>
条件运算符(条件表达式)?结果1:结果2

算数运算

运算符运算
+正号
-负号
+
-
*
/
%取余
++

自增运算

(在前)先加1,再使用其值

(在后)先用其值,再加1

--

自减运算

(在前)先减1,再使用其值

(在后)先用其值,再减1

+连接字符串

比较运算符

运算符运算
==相等
!=不等
<小于
>大于
<=小于等于
>=大于等于
Instanceof判断是否为类的对象

比较运算符的结果都是boolean型(true or false)

比较运算符"=="不要误写成赋值运算符"="

逻辑运算符

运算符运算
&(逻辑与)

只要一个为false,

结果就为false.

全为true,结果为true

|(逻辑或)

只要一个为true,

结果就为true.

全为false,结果为false

!(逻辑非)

!true->false

!false->true

&&(短路与)

只要一个为false,

结果就为false.

全为true,结果为true

||(短路或)

只要一个为true,

结果就为true.

全为false,结果为false

^(逻辑异或)

boolean值相同为false

boolean值不同为true

"&"和"&&"的区别:

  • 进行"&"运算时,左边的表达式无论真假,右边的所有表达式都要进行运算
  • 进行"&&"运算时,如果左边的表达式为真,右边表达式进行运算;如果左边的表达式为假,则右边的表达式不进行运算

"|"和"||"的区别同理,"||"当左边表达式为真,右边的表达式不运算

  • 建议使用"&&"和"||",能减少运行时间

赋值运算符

符号:=

当"="两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换

扩展赋值运算符:+=、-=、*=、/=、%=

+= 符号进行隐式转换,将右边的数据类型自动转换为和左边一样的数据类型

short s =2;
s = s+2;//s+2系统自动转换为int类型,编译错误
s +=2;//系统隐式转换

条件运算符

(条件表达式)?表达式1:表达式2;
//条件表达式为true时,运算结果为表达式1
//条件表达式为false时,运算结果为表达式2
//如果将条件表达式的值赋给一个变量,要求表达式1和表达式2是同种或兼容的类型

位运算

运算符运算
<<左移,高位丢弃,空位补0
>>

右移

最高位为0时,空位补0

最高位为1时,空位补1

>>>

右移

最高位不管是0还是1,空位都补0

&二进制位进行&运算,只有1&1时结果为1,否则为0
|二进制位进行|运算,只有0|0时结果为0,否则为1
^

相同为0,不同为1

1^1=0,0^0=0

1^0=1,0^1=1

~各二进制码按补码各位取反

控制台输入与输出

        /*Java提供的Scanner类来实现从控制台向程序输入信息的功能具体步骤:1.导包:import java.util.Scanner;(使用系统其它类时,也需要先导入,java.lang包除外)2.创建Scanner类型的对象:Scanner scan = new Scanner(System.in);3.调用Scanner类的相关方法(next()/nextXxx()),用户要输入的数据类型是什么就使用next+数据类型()的方法*/
//样例如下
import java.util.Scanner;//导包public class CSDN {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//创建Scanner类型的对象String name = scan.next();//用字符串name来接收从控制台输入的姓名System.out.println("姓名:"+name);//打印姓名int age = scan.nextInt();//用int类型的age变量来接收从控制台输入的年龄System.out.println("年龄:"+age);//打印年龄}
}

 ​​​​​​控制语句

条件语句
根据不同条件,执行不同语句
if,if...else,if...else if...else if...else
循环语句
重复执行某些相同操作
for,while,do...while

八、条件语句

if (条件) {//条件表达式必须是一个返回boolean结果的表达式,true则执行语句,false则跳过//语句
}
if (条件1) {//语句1
} else {//语句2
}
if (条件1) {//语句1
} else if (条件2) {//语句2
}... ...
}else if(){//语句n
}else{//语句n+1
}
switch (表达式) {//表达式可以是byte,short,int,char,枚举类型,String类型case value1://case语句后面只能使用常量表达式且不能重复//语句1break;case value2://如果某个case分支没有提供break语句,则继续执行下一个case语句,直到遇到break或switch语句结束          //语句2break;case value3://case语句的穿透性,不写break,一旦匹配成功,不会判断下一个case的值,直接向后运行//语句3break;... ...case valueN://语句Nbreak;defaultvalueN+1://语句N+1break;
}

 if-else语句与switch-case语句比较

switch-case语句可以转换为if-else语句,反之不成立

优先使用switch-case语句

if-else语句使用范围比switch-case语句广

九、循环

循环语句的四个组成部分

循环变量初始化 循环条件部分 循环体部分 迭代部分

while(逻辑表达式){//表达式结果为Boolean类型//循环体//迭代部分
}//逻辑表达式结果为true,则执行循环,直至为false,若一直为true则此循环为死循环
do{//语句;
}while(逻辑表达式);//先进入循环,再判断逻辑表达式
for (表达式1;表达式2;表达式3) {//语句;}//执行过程:执行表达式1,再执行表达式2(结果为true),则执行循环语句,再执行表达式3,返回判断表达式2;重复操作,直到表达式2位false

三种循环的比较 

do-while循环至少执行一次

三种循环可以实现相互转换

break&continue

break语句用于强行终止循环,或在switch语句中终止某一语句

continue语句用于循环语句中,用于终止单次循环,跳过continue语句下面未执行的循环,开始下一次循环

循环嵌套

 将一个循环放在另一个循环体内,就形成了嵌套循环,三种循环均可以作为外层循环和内层循环

只有内层循环条件为false时,才会完全跳出内层循环,才可结束外层循环的当次循环

如果要在内层循环中跳出外层循环,则需要使用标签,在循环前定义一个标签,如label,然后在需要跳出的地方,用break label就行了

十、方法

Java中的方法类似于其他语言中的函数,方法相当于一种功能和行为,定义方法是为了减少代码冗余,简化代码,Java里的方法不能"独立存在",所有的方法都必须定义在类里

方法声明格式:[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){Java语句;… … …[return 返回值;]}

修饰符:告诉编译器如何调用该方法,定义了该方法的访问类型

形式参数:在方法被调用时用于接收外界输入的数据

返回值类型:想要返回的是什么数据类型,就定义哪种返回值类型,如无返回值,必须给出返回值类型void

方法体:必须用{}括起来,在{}中编写完成方法功能的代码

返回值:方法在执行完毕后返还给它调用它的环境的数据

实参:调用方法时实际传给方法的数据

调用方法

类名/对象名.方法名(实参列表)实参的数量、数据类型和次序必须和所调用的方法声明的形参列表匹配,return语句用于从当前执行的方法中推出,返回到调用该方法的语句处继续执行.

return有两种格式:return 值;//将值返回,方法必须声明有返回值 

                             return;//不返回任何值,表示终止方法执行,可以在声明为void的方法中使用

main方法/函数是Java程序的入口,启动方法


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部