Java基础基本语法

1.常用Dos命令

常用的DOS命令
dir : 列出当前目录下的文件以及文件夹
md : 创建目录
rd : 删除目录
cd : 进入指定目录
cd… : 退回到上一级目录
cd: 退回到根目录
del : 删除文件
exit : 退出 dos 命令行

2.基本语法

2.1关键字与标识符

关键字(keyword)的定义和特点

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
在这里插入图片描述
在这里插入图片描述

保留字(reserved word)

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字
goto 、const

注意:自己命名标识符时要避免使用这些保留字

标识符(Identifier)

Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符。

定义合法标识符规则:
1、由26个英文字母大小写,0-9 ,_或 $ 组成
2、数字不可以开头。
3、不可以使用关键字和保留字,但能包含关键字和保留字。
4、Java中严格区分大小写,长度无限制。
5、标识符不能包含空格
Java中的名称命名规范
包名:多单词组成时所有字母都小写:xxxyyyzzz

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

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

常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。

2.2 变量的使用

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

变量的分类

按数据类型

对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间。
在这里插入图片描述

  1. 整型:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节)
    ① byte范围:-128 ~ 127
    ② 声明long型变量,必须以"l"或"L"结尾
    ③ 通常,定义整型变量时,使用int型。
    ④整型的常量,默认类型是:int型
  2. 浮点型:float(4字节) \ double(8字节)
    ① 浮点型,表示带小数点的数值
    ② float表示数值的范围比long还大
    ③ 定义float类型变量时,变量要以"f"或"F"结尾
    ④ 通常,定义浮点型变量时,使用double型。
    ⑤ 浮点型的常量,默认类型为:double
  3. 字符型:char (1字符=2字节)
    ① 定义char型变量,通常使用一对’',内部只能写一个字符
    ② 表示方式:1.声明一个字符 2.转义字符 3.直接使用 Unicode 值来表示字符型常量
  4. 布尔型:boolean
    ① 只能取两个值之一:true 、 false
    ② 常常在条件判断、循环结构中使用
按声明的位置分类(了解)

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

注意:二者在初始化值方面的异同:
同:都有生命周期
异:局部变量除形参外,需显式初始化。在这里插入图片描述

基本数据类型

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

java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
在这里插入图片描述
bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。

浮点类型:float、double

浮点型常量有两种表示形式:

 十进制数形式:如:5.12  512.0f  .512 (必须有小数点)
 科学计数法形式:如:5.12e2 512E2 100E-2

float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
double:双精度,精度是float的两倍。通常采用此类型。

Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
在这里插入图片描述

字符类型:char

在这里插入图片描述

转义字符

在这里插入图片描述

布尔类型:boolean

boolean 类型用来判断逻辑条件,一般用于程序流程控制:
if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;

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

字符串类型:String(不是基本数据类型)

String不是基本数据类型,属于引用数据类型
使用方式与基本数据类型一致。例如:String str = “abcd”;

一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如:
str = str + “xyz” ;
int n = 100;
str = str + n;

2.3 基本数据类型变量间运算规则

自动类型转换(只涉及7种基本数据类型)

容量小的类型自动转换为容量大的数据类型。数据类型按容
量大小排序为:
在这里插入图片描述
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte 、char 、short --> int --> long --> float --> double
特别的:当byte、char、short三种类型的变量做运算时,结果为int型

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

强制类型转换(只涉及7种基本数据类型):自动类型提升运算的逆运算。

1.需要使用强转符:()
2.注意点:强制类型转换,可能造成精度降低或溢出。

通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可
以实现把字符串转换成基本类型。
如: String a = “43”; int i = Integer.parseInt(a);

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

String与8种基本数据类型间的运算

  1. String属于引用数据类型,翻译为:字符串
  2. 声明String类型变量时,使用一对""
  3. String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
  4. 运算的结果仍然是String类型

避免:
String s = 123;//编译错误
String s1 = “123”;
int i = (int)s1;//编译错误

2.4 进制

在这里插入图片描述
在这里插入图片描述
Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;
当是long类型时,二进制默认占64位,第64位是符号位

2.5 运算符

算数运算符 + - + - * / % (前)++ (后)++ (前)-- (后)-- +

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是
负数则不可忽略。此外,取模运算的结果不一定总是整数。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只
保留整数部分而舍弃小数部分。

“+”除字符串相加功能外,还能把非字符串转换成字符串

(前)++ :先自增1,后运算
(后)++ :先运算,后自增1
(前)-- :先自减1,后运算
(后)-- :先运算,后自减1

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

符号:=
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
支持连续赋值。

运算的结果不会改变变量本身的数据类型
在这里插入图片描述

比较运算符

在这里插入图片描述
比较运算符的结果都是boolean型,也就是要么是true,要么是false。
比较运算符“==”不能误写成“=” 。

逻辑运算符

在这里插入图片描述

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

“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

位运算符

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

  1. 位运算符操作的都是整型的数据
  2. << :在一定范围内,每向左移1位,相当于 * 2
  3. “>> ”:在一定范围内,每向右移1位,相当于 / 2

三元运算符

在这里插入图片描述

运算符优先级

在这里插入图片描述

运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
只有单目运算符、三元运算符、赋值运算符是从右向左运算的。

2.6 程序流程控制

顺序结构

程序从上到下执行。

分支结构

if-else
switch-case

if-else结构

在这里插入图片描述

在这里插入图片描述

if-else使用说明
 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
 语句块只有一条执行语句时,一对{}可以省略,但建议保留
 if-else语句结构,根据需要可以嵌套使用
 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
当多个条件是“包含”关系时,“小上大下 / 子上父下”

switch-case结构
switch(表达式){
case 常量1:
语句1;
// break;
case 常量2:
语句2;
// break; … …
case 常量N:
语句N;
// break;
default:
语句;
// break;
}

在这里插入图片描述
switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);  case子句中的值必须是常量,不能是变量名或不确定的表达式值;
 同一个switch语句,所有case子句中的常量值互不相同;
 break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
 default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,
执行default

循环结构

在某些条件满足的情况下,反复执行特定代码的功能

循环语句分类
for 循环
while 循环
do-while 循环

for 循环

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

while 循环

在这里插入图片描述

do-while 循环

在这里插入图片描述

break、continue的使用

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

在这里插入图片描述

2.7 Scanner类的使用

如何从键盘获取不同类型的变量:需要使用Scanner类

具体实现步骤:
1.导包:import java.util.Scanner;
2.Scanner的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量

注意:
需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常:InputMisMatchException
导致程序终止。
/*
如何从键盘获取不同类型的变量:需要使用Scanner类

具体实现步骤:
1.导包:import java.util.Scanner;
2.Scanner的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量

注意:
需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常:InputMisMatchException
导致程序终止。
*/
//1.导包:import java.util.Scanner;
import java.util.Scanner;

class ScannerTest{
	
	public static void main(String[] args){
		//2.Scanner的实例化
		Scanner scan = new Scanner(System.in);
		
		//3.调用Scanner类的相关方法
		System.out.println("请输入你的姓名:");
		String name = scan.next();
		System.out.println(name);

		System.out.println("请输入你的芳龄:");
		int age = scan.nextInt();
		System.out.println(age);

		System.out.println("请输入你的体重:");
		double weight = scan.nextDouble();
		System.out.println(weight);

		System.out.println("你是否相中我了呢?(true/false)");
		boolean isLove = scan.nextBoolean();
		System.out.println(isLove);

		//对于char型的获取,Scanner没有提供相关的方法。只能获取一个字符串
		System.out.println("请输入你的性别:(男/女)");
		String gender = scan.next();//"男"
		char genderChar = gender.charAt(0);//获取索引为0位置上的字符
		System.out.println(genderChar);	
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值