第二章 基本语法

基本语法包括以下几类:

1.关键字 &  标识符

关键字:被java语言赋予了特殊含义,用做专门用途的字符串(单词)
保留字:
标识符:凡是自己可以起名字的地方都叫标识符
命名的规则 :(一定要遵守,不遵守就会报编译的错误)
由26个英文字母大小写,0-9,_或$组成
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。
Java中的名称命名规范 :(不遵守,也不会出现编译的错误)
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
变量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ

2.变量

①Java中变量按照数据类型来分类:基本数据类型 vs 引用数据类型
>基本数据类型:
整型:byte(8 bit) short int(默认类型) long
浮点型:float double(默认类型)
字符型:char('')
布尔类型:boolean(只能取值为true 或 false,不能取null)

补充:按照在类中存在的位置的不同:成员变量 VS 局部变量
②进制(了解)
十进制 二进制 八进制 十六进制

二进制:计算机底层都是用二进制来存储、运算。
>二进制与十进制之间的转换。
>二进制在底层存储:正数、负数都是以补码的形式存储的。(原码、反码、补码)
>四种进制间的转换
③变量的运算:
1、自动类型转换:容量小的数据类型自动转换为容量大的数据类型。
short s=12;
int i=s+2;
注意:byte short char 之间做运算,结果为int型!
2、强制类型转换:是1的逆过程,使用“()”实现强制类型转换。

3.运算符

        

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
①算术运算符:
+ - + - * / % ++ -- +
正 负 加 减 乘 除 取余 (前置或后置)加加 (前置或后置)减减 字符串连接

②赋值运算符
+= -= *= /= %=
既可以实现运算,又不会更改s的数据类型
当“=”两侧数据类型不一致时,也可以使用自动类型转换或使用强制类型转换原则进行处理。
支持连续赋值
③比较运算符(关系运算符)
比较运算符的结果都是boolean型,也就是要么是true,要么是false。

比较运算符“==”不能误写成“=”。

运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3false
instanceof检查是否是类的对象"Hello" instanceof Stringtrue

④逻辑运算符

     ⑤位运算符

    无<<<

    位运算符是直接对二进制进行运算

& --逻辑与 | --逻辑或 ! --逻辑非
&& --短路与 || --短路或 ^ --逻辑异或

& 与 && 的区别: &:不管左边是true还是false,右端都会进行运算。
&&:当左端为false时,右端不再进行运算。
| 与 || 的区别: |:当左端为true时,右端照样做运算。

||:当左端为true时,右端不再进行运算。


4、程序流程控制

①顺序结构
程序从上到下逐行地执行,中间没有任何判断和跳转。
②分支结构
根据条件,选择性地执行某段代码。
有if-else和switch两种分支语句。
条件判断:
if语句三种格式:
1.if(条件表达式){
执行代码块;
}
2.if(条件表达式){
执行代码块;
}
else{
执行代码块;
}
3.if(条件表达式){
执行代码块;
}
else if(条件表达式){
执行代码块;
}
.....
else{
执行代码块;
}
【注意】
1.一旦满足某个条件表达式,则进入其执行语句块执行,执行完毕,跳出当前的条件判断结构,不会执行其以下的条件结构语句。
2.如果诸多个条件表达式之间为“互斥”关系,多个结构可以上下调换顺序。
如果诸多个条件表达式之间为“包含”关系,要求条件表达式范围小的写在范围大的上面。
//输入一个字符串
//1.导包
import java.util.Scanner;
class TestScanner{
public static void main(){
//2.创建一个Scanner类的对象
Scanner s=new Scanner(System.in);
//3.调用此对象的相应的方法
//next();表示从键盘获取一个字符串
String str=s.next;
System.out.println(str);
}
}
1.条件判断之间可以嵌套
2.①如果多个条件之间是“互斥”关系,多个条件语句上下顺序是自由的。
②如果多个条件之间存在“包含”关系,要求范围小的写在范围大的上面。
选择结构:
switch(变量){
case 值1:

//break;
case 值2:

//break;
.......
default:

//break;
}
【注意】
1.变量可以为如下的数据类型:byte short int char 枚举 String
2.case后只能填写变量的值,不能写范围。
3.default是可以省略的,并且其位置也是灵活的,但是通常将其放在case语句之后。
4.一旦满足某个case语句,则进入执行其操作,直至遇到break或者程序终止。
5.若要判断的语句的条件满足switch变量的数据类型,且值不多的情况下,建议选择switch-case。
除此之外,选择if-else。

③循环结构
根据循环条件,重复性的执行某段代码。
有while、do...while、for三种循环语句。
注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。

1.格式:
①初始化条件
②循环条件
③迭代部分
④循环体


for(①;②;③){
}

while(②){
}

do{
}while(②);

注:1.不同的循环结构之间可以相互转换
2.while和do..while的区别:do..while程序至少会执行一次

2.嵌套循环:循环结构还可以声明循环。让内层循环结构整体充当外层循环的循环体。
若外层循环执行m次,内层循环执行n次,整个程序执行m*n次。
【题目】
******
******
******
for(int i=0;i<3;i++){
for(int j=0;j<6;j++){
System.out.println("*");
}
System.out.println();
}
说明:外层循环控制行数,内层循环控制列数
【例题】1.九九乘法表 2.输出100以内的质数

3.无限循环结构
for(;;){
...
if( ){
break;
}
...
}
或者
while(true){
...
if( ){
break;
}
...
}
往往我们在无限循环结构内部提供循环的终止条件,使用break关键字。否则,此循环将无限制的执行下去,形成死循环!死循环是要避免的。
⑤break和continue
break:
>使用switch-case结构或者循环结构中
>在循环结构中,一旦执行到break,就跳出当前循环。

continue:使用在循环结构中
>一旦执行到continue,就跳出当次循环。

for(int i=1;i<=10;i++){
if(i%4==0){
//break; //123
continue; //123567910
}
System.out.println(i);
}

在嵌套循环中,使用带标签的break和continue。
label:for(int i=1;i<5;i++){//标签
for(int j=1;j<=10;j++){
if(j%4==0){
//break;
//continue;
//break label;
continue label;
//在break和continue语句后不能够写语句,因为永远也不可能被执行!
}
System.out.print(j);
}
System.out.println();
}

5.数组

数组:相同数据类型的数据的组合。

如:int score1=72;
int score2=90;
int score3=59;

使用数组;
1.数组的初始化
int[] scores1=new int[]{72,90,59};// 静态初始化:在声明并初始化数组与给定数组相对应的元素赋值操作同时进行。
int[] scores2=new int[3];// 动态初始化:在声明并初始化数组与给定数组相应的元素赋值操作分开进行。
scores2[0]=72;
scores2[1]=90;
scores2[2]=59;
注:不管是动态还是静态初始化数组,一定在创建的时候,就指明了数组的长度!
2.如何引用数组元素:通过数组的下角标的方式。下角标从0开始,到n-1结束。其中n为数组的长度。
3.数组的长度:通过数组的属性length来调用。
System.out.println(scores2.length);//3
4.如何遍历数组
for(int i=0;i<scores1.length;i++){
System.out.println(scores1[i]);
}
5.关于数组元素的默认初始化值
1)byte short int long 而言:0
2)float double 而言:0.0
3)char 而言:空格
4)boolean 而言:false
5)引用类型变量而言:null

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值