学习笔记_Java_2

Two Java编程基础

2.1    基本语法格式

2.1 .1 Java程序组成单位

        修饰符 class 类名

        {

        程序代码;

        }

注:Java是严格区分大小写的

2.1.2 注释

1. //                         单行注释

2./*       */                多行注释

3./**     */                  文档注释(用于创建Web页面的HTML文件,Java的文档生成器能从这类注释中提取信息,并将其规范化后用于建立Web页)

2.1.3 标识符(所有语言是都差不多的规则)

标识符-----名字(类名,函数名,方法名,变量名,属性名......)

定义合法标识符规则:
       1. 由26个英文字母大小写,0-9,_或$(java可以,C,python不支持)组成

       2.数字不可以开头。

       3. 不可以使用关键字和保留字,但能包含关键字和保留字。

       4.Java中严格区分大小写,长度无限制。

       5.标识符不能包含空格。

  Java中的命名规范:

  包名:多单词组成时所有字母都小写:xxxyyyzzz

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

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

  常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ    变量---(用关键字final修饰的变量)

2.1.4 关键字与保留字(不用现在就全部记下)

关键字与保留字:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

注:关键字中所有字母都为小写

学习笔记_Java_2_第1张图片

学习笔记_Java_2_第2张图片

Java关键字官网查询:

Java 语言关键字(学习 Java™ 语言>语言基础知识> Java 教程) (oracle.com)Java Language Keywords (The Java™ Tutorials > Learning the Java Language > Language Basics) (oracle.com)

2.2  变量

2.2.1 变量声明和初始化

        Java 变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。

        语法格式:

                变量类型 变量名=变量值;(使用变量前必须对变量赋值,首次对变量赋值称为变量初始化,可以声明的同时进行赋值。变量初始化后可以对变量进行重新赋值,重新赋值后,心得值将会覆盖原来的值。

2.2.2 变量的使用----通过变量名

学习笔记_Java_2_第3张图片

注意:

当有汉字报错时,可以检查一下编码,将编码格式改为:ANSI

学习笔记_Java_2_第4张图片

 学习笔记_Java_2_第5张图片

注:(使用变量的注意点)

Java中量必须先声明,后使用(与C相同)

使用变量名来访问这块区域的数据

变量的作用域:其定义所在的一对{}内变量(局部变量)只有在其作用域内才有效

同一个作用域内,不能定义重名的变量

2.2.3 变量类型

        Java变量类型分成基本数据类型和引用数据类型

        1.     基本数据类型

                学习笔记_Java_2_第6张图片

         注:

              (1)默认情况下整数字面值是int型,如果要指定long型的整数字面值,必须在数值后面加大写或者小写字母L

              (2)默认情况下浮点型字面值的double型。要指定为float型需要在浮点数后面加后缀f或者F。

        2.   引用数据类型 

        引用类型指向一个对象,不是原始值,指向对象的变量是引用变量。在Java里面除去基本数据类型的其他数据类型都是引用数据类型,自己定义的class类都是引用数据类型。应用数据类型包括 类引用;接口引用;数组引用

        声明引用变量格式:

        Object object = null //声明一个Object 类的引用变量        

         List list = null          //声明一个List 接口的引用变量             

         int[] months = null  //声明一个int 型数组的引用变量     

(将引用数据类型的常量或者变量初始化为null时,表示引用数据类型的常量或变量不引用任何对象。)

2.2.4  数据类型之间的相互转换

        Java 是强类型语言,在进行赋值操作时要对数据类型进行检查。

        1.自动类型转换(低级类型向高级类型转换)

        在基本数据类型中,除了boolean类型外均可参与算术运算。

byte----short----char----int----long----flaot----double

        2.强制类型转换

在执行强制类型转换时,可能会导致数据溢出或者精度降低。

        语法格式:

         (数据类型) 数据    或者  (数据类型)(表达式)

eg:

        int a=(int)105L  //105L 是长整型,赋值给int a 时需要强制转换类型

2.2.5  变量作用域

        (1).局部变量:方法或语句内部定义的。只在该方法或语句的内部起作用

        (2).成员变量:方法外部,类的内部定义的变量。(与C中全局变量相似)

     区别:

        成员变量可以有修饰符,而局部变量不能有修饰符。

        系统会自动给成员变量默认值,但局部变量没有默认值。

2.3 运算符

        算术运算符;赋值运算符;关系运算符;逻辑运算符;位运算符

2.3.1  算术运算符

         +----加法  - ----减法  * ----乘法  / ----除法 % ----求余 ++ ---自增(+1) -- ----自减(-1)

注:

(1).求余

% ---两边的操作数必须是整型 

c = a%b (当a,b均为正数时,c为正数  当a,b均为负数时,c为负数)

学习笔记_Java_2_第7张图片           学习笔记_Java_2_第8张图片

 操作数一正一负时  c = a - a/b*b

 学习笔记_Java_2_第9张图片   学习笔记_Java_2_第10张图片

 c = 15 - [(-3)*(-4)] = 3                                                   c = -15 - [(-3)*4] = -3

(2).自增自减(单目运算---一个操作数) 

        注意操作数 和操作符的位置

学习笔记_Java_2_第11张图片            学习笔记_Java_2_第12张图片

      c = (-15+1)*4 = -14*4 = -56                                   c = (-15)*4 = -60;

                                                                                    a = -15 + 1 = -14          

2.3.2 赋值运算符

赋值运算符的符号为 “=”,作用是将数据,变量,对象赋值给相应类型的变量。(等号右边的赋值给等号左边的)

复合赋值运算符: -=(a-=b---a=a-b) +=(a+=b---a=a+b) *=---(a*=b---a=a*b) /=---(a/=b---a=a/b)

%=---(a%=b----a=a%b)

2.3.3 关系运算符

        用于比较大小,其结果为布尔类型及true 或者false

  > ---大于  < ---小于  == ----比较等(比较两边的操作数是否相等,与=不同,=是赋值)

 != ---不等于 >= ---大于或者等于 <= --- 小于或者等于

2.3.4 逻辑运算符

        用于对boolean类型结果的表达式进行运算

学习笔记_Java_2_第13张图片

2.3.5 位运算符(二进制)

         (1).逻辑位运算符 

            | ----按位或    & ----按位与    ~ ----按位取反    ^ ----按位异或

        (2).移位运算符

        << ----左移位(a << 1,相当于a*2)

        >> ----右移位(a>>1,相当于a除以2)

        >>> ---无符号右移,空位用0补齐

2.3.6 其他运算符

(1).字符串连接运算符“+”

学习笔记_Java_2_第14张图片

(2).三目运算符

X ? Y : Z ;  (X的值为true,Y的值为表达式的值,否则Z的值为表达式的值)

学习笔记_Java_2_第15张图片   学习笔记_Java_2_第16张图片

     比较a,b的大小输出最大值                                 比较a,b的大小输出最小值

2.3.7 运算符的优先级

学习笔记_Java_2_第17张图片

2.4 流程控制 (与C语言类似)

2.4.1 if条件语句 

        (1).简单的if条件语句

if(条件表达式){
    语句;
}

                如果条件表达式为真,就执行语句,为假就不执行该语句

        (2).if-else条件语句

if(条件表达式){
    语句1;
}else{
    语句2;
}

                如果条件表达式为真,就执行语句1,如果为假,就执行语句2

eg:   判断是奇数还是偶数

学习笔记_Java_2_第18张图片

(3).if...else if 多分支语句

if(条件表达式1){
    语句1;
}
else if(条件表达式2){
    语句2;
}
else{
    语句3;
}

用于针对某件事的多种情况进行处理,如果满足某种条件,就进行某种处理,否则如果满足另一种条件才执行另一种处理

(4).嵌套if语句

用于复杂的分支语句中

if(表达式1){
    if(表达式2){
        语句1;
    }else{
        语句2;
    }
}else{
    if(表达式3){
        语句3;
    }else{
        语句4;
    }
}

2.4.2 switch语句 (多分支结构)

switch(表达式1){
    case 常量表达式 1: 语句序列1;break;
    case 常量表达式 2: 语句序列2;break;
    case 常量表达式 3: 语句序列3;break;
    case 常量表达式 4: 语句序列4;break;
    ..........
    case 常量表达式 n: 语句序列n;break;
    default:语句n+1;
}

说明:

        1.switch 语句中表达式的值必须是整型或字符型,switch会根据表达式的值执行符合常量表达式的语句

        2.在case后的各常量表达式值不能相同,否则会报错

        3.在case后允许有多个语句,可以不用“{}”括起来。也可以用“{}”

        4.default的顺序不一定要在最后,只是把它放在最后是一个编程习惯

        5.break,是用来跳出switch语句的,若没有break语句,将执行符合常量表达式后面的所有语句。

eg:

输入百分之成绩,输出成绩等级90~100为A,80~90为B,70~~80为C,60~70为D,60以下为E

学习笔记_Java_2_第19张图片

package chap01;
import java.util.Scanner;
public class hellow {
	public static void main(String[] args){
		char cGrade;
		int num;
		Scanner in=new Scanner(System.in);
		System.out.println("请输成绩:");
		num = in.nextInt();
		switch(num/10) {
		case 10:cGrade='A';break;
		case 9:cGrade='A';break;
		case 8:cGrade='B';break;
		case 7:cGrade='C';break;
		case 6:cGrade='D';break;
		default:cGrade='E';
		}
		System.out.println("你的成绩为:"+num+"\t"+"你的等级为"+cGrade);
	}
}

 2.4.3 while循环语句

while(表达式){
    循环语句;
}

表达式为true,将会执行循环语句,直到表达式为false,才会退出循环

eg:打印1~5

学习笔记_Java_2_第20张图片

package chap01;
import java.util.Scanner;
public class hellow {
	public static void main(String[] args){
		int num=1;
		while(num <= 5) {
			System.out.println("counter="+num);
			num++;
		}
	}
}

2.4.4 do-while循环语句

do{
    循环语句;
}while(表达式);

限制性循环语句,在判断表达式

2.4.5 for循环语句

        

for(表达式1--初始化 ;表达式2--条件;表达式3--迭代){
    循环体;
}

eg: 求1-100的偶数和

学习笔记_Java_2_第21张图片


package chap01;
public class hellow {
	public static void main(String[] args){
		int sum=0;
		for(int i=0;i<=100;i+=2) {
			sum+=i;
		}
		System.out.println("sum="+sum);
	}
}

 2.4.6 循环嵌套

打印九九乘法表

学习笔记_Java_2_第22张图片

package chap01;
public class hellow {
	public static void main(String[] args){
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(i+" * "+j+"="+i*j+" ");
			}
			System.out.println();
		}
	}
}

2.4.7 break语句

break可以用于终止循环或其他控制语句。在for,while,do-while中用于强行终止循环。在多分支中也是用。

2.4.8 continue 语句

在for,while,do-while中用于跳出本次循环,进入下一循环。

2.5 数组

2.5.1 一维数组

        (1).数组的声明和创建

        声明语法有两种:

                数组元素类型 数组名[]    或者  数组元素类型  [] 数组名

int a [ ];     //声明一个引用 int 型数组的变量a

String [ ]s; //声明一个引用String型数组的变量s

注:

        声明数组后,并没有在内存中为数组分配存储空间。只用使用关键字new创建数组后,数组才拥有一片连续的内存单元。

        创建数组的格式:

                变量名 = new 数据类型[长度];   (变量名必须是已声明过的数组引用变量,长度指定了数组元素的个数)

        可以声明的同时创建数组:

                int [ ] a = new int[5];

        (2).数组的初始化

                int[ ] a={1,2,3}

                也可以在声明和创建时同时初始化   int [ ] a = new int[ ]{1,2,3}

eg: 对数组赋值,并输出

学习笔记_Java_2_第23张图片     

package chap01;
import java.util.Scanner;
public class hellow {
	public static void main(String[] args){
		int a[]= new int[5];
		int b;
		Scanner sc = new Scanner(System.in);
		for(int i=0;i<=4;i++) {
			System.out.println("请输入一个数:");
			b=sc.nextInt();
			a[i]=b;
		}
		for(int i=a.length-1;i>=0;i--) {
			System.out.println("a["+i+"]"+a[i]);
		}
	}
}

2.5.2 二维数组

        数组元素类型 数组名[] []   或者  数组元素类型  [] [] 数组

int table[ ][ ];                               声明的同时创建数组:

table = new int[2][3];                                  int a[ ][ ] = new int[2][3]  //创建一个两行三列的二维数组

 注: 在初始化二维数组时可以只指定行数而不给出数列的列数。不能只指定列数不指定行数

         在引用二维数组中的元素时必须指定两个下标指出是第几行第几列

你可能感兴趣的:(Java_study,学习,java,开发语言)