JAVASE学习笔记--基本语法

1.关键字 & 标识符

关键字:被java语言赋予特殊意义的字符串(单词),例如:abstract,int,void,return.....

标识符:凡是自己可以起名字的地方都叫标识符

命名规则:(一定要遵守,不遵守就会报编译的错误)

由26大小写字母,0-9数字,_或$组成。

数字不可以开头

不可以使用关键字或保留字,但是可以包含它们

java中严格区分大小写,但是无长度限制

标识符无限制

Java中的名称命名规范:(不遵守,也不会出现编译的错误)

包名:全部小写.

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

变量名,方法名:多单词组成,首字母小写,第二个单词开始大写:xxxxYyyyZzzz.

2.变量

1,java中的类型分为基本数据类型和引用数据类型(数组,接口,类)

基本数据类型:

整型:byte ,short ,int ,long

浮点型:float,double(默认类型)

字符型:char

布尔类型:boolean

变量的运算:

自动类型转换:容量小的数据类型自动转换为容量大的数据类型

强制类型转换:自动类型的逆过程,使用"()"实现强转

3.运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符:
+  -  + - * / % ++ -- +
注意:1) /:   int i = 12;  i = i / 5;
      2) %:最后的符号只跟被模数相同
      3)前++:先+1,后运算     后++:先运算,后+1
      4)+:String字符串与其他数据类型只能做连接运算,且结果为String类型。sysout('*' + '\t' + '*'); vs  sysout("*" + '\t' + '*');

赋值运算符:
=    +=   -=  *=    /=   %=
int i= 12;
i  = i * 5;
i *= 5;//与上一行代码同样的意思
【特别地】
short s = 10 
s = s + 5;//报编译的异常
s = (short)(s + 5);
s += 5;//s = s + 5,但是结果不会改变s的数据类型。


比较运算符(关系运算符)
==  >   <  >=   <=    instanceof  

【注意】区分==  与 =  区别。
进行比较运算操作以后,返回一个boolean类型的值
4>=3  表达的是4 > 3或者 4 = 3.结果是true。

if(i > 1 && i < 10){  }   
不能写为:if(1 < i < 10){}

逻辑运算符(运算符的两端是boolean值)
&   &&  |  ||  ^ !
【注意】区分 &  与 && 的区别,以及 |  与 || 的区别

 &&和||  会短路
  我们使用的时候,选择&& , ||

位运算符(两端是数值类型的数据)
<<   >>    >>>  &  |   ^  ~
【例子】1.如何交换m = 12和n = 5的值
             2.将60转换为十六进制输出。
三元运算符
(条件表达式)? 表达式1 : 表达式2;
1)既然是运算符,一定会返回一个结果,并且结果的数据类型与表达式1,2的类型一致
2)表达式1与表达式2 的数据类型一致。
3)使用三元运算符的,一定可以转换为if-else。反之不一定成立。
例子:获取两个数的较大值;获取三个数的最大值。

4.流程控制

1.顺序结构
  >程序从上往下的顺序执行

2.分支结构:
    if-else   
    switch-case

3.循环结构:
  while(){}
  do{}while()
  for(;;){}

1.分支结构:

①if(条件表达式){   }

②if(条件表达式){
    //执行的语句1;
  }else{
    //执行的语句2;
  }

③if(条件表达式1){
    //执行的语句1;
  }else if(条件表达式2){
    //执行的语句2;
  }else if( 条件表达式3){
    //执行的语句3;
  }...
  }else{
    //执行的语句;
  }

【注意】
  1.一旦满足某个条件表达式,则进入其执行语句块执行,执行完毕,跳出当前的条件判断结构,不会执行其以下的条件结构语句。
  2.如果诸多个条件表达式之间为“互斥”关系,多个结构可以上下调换顺序
    如果诸多个条件表达式之间为“包含”关系,要求条件表达式范围小的写在范围大的上面。

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.

3循环结构

1.格式

①初始化条件

②循环条件

③迭代部分

④循环体

for(①;②;③){④}

while(②){④③}

do{

}while(②)

注:1,不同循环体之间可以相互转换

2,do-while至少循环一次

break & continue

break:跳出当前循环

continue:跳出当次循环

5.数组

相同数据类型的组合

数组初始化:

int[] a=new int[]{'a','b','c'};//静态初始化:在声明并初始化数组与给数组赋值同时进行

int[] b=new int[3];//动态初始化

注:不管是动态还是静态初始化数组,一定在创建的时候,就指明了数组的长度!
2.如何引用数组元素:通过数组的下角标的方式。下角标从0开始,到n-1结束。其中n为数组的长度。
3.数组的长度:通过数组的属性length来调用。

5.关于数组元素的默认初始化值
1)byte short int long 而言:0
2)float double 而言:0.0
3)char而言:空格
4)boolean而言:false
5)引用类型变量而言:null

数组常见异常:

1.数组下标越界异常:java.lang.ArrayIndexOutOfBoundsException

int[] i=new int[10]

i[10]=5//越界

2.空指针异常:NullPointerException

字符串数字 i[3]=null  不会报错

求数组的最大值,最小值,和,平均数

数组的反转:

不确定参数个数方法

猜你喜欢

转载自blog.csdn.net/XiaoLongFight/article/details/82761096