2022-01-23

第一章

1.java源文件(.java) java字节码文件(.class)

2.java源文件通过编译器被转化为"字节码",通过解释器解释并运行java的字节码.

3.字节码好处:

(1)转化为字节码后文件尺寸较小,便于网络传输.

(2)可跨平台运行.

4.任何一种可以运行java字节码的软件均可以被看成java的虚拟机(JVM)

JVM虚拟机其实就是一个字节码解释器

5.java应用程序的主类包含有一个public static void main(String [] args)的主方法,这个方法是java应用程序的标志,也是java程序执行的入口点.

6.一个java程序由一个或多个java源文件构成,但是public类只有一个

7.java源程序文件:

package:0个或1个,表示这个程序所属的包,如果有必须放在最前面,如果没有,表示程序属于默认包.

import:0个或多个,必须放在类定义之前

类定义(1个或多个类定义)每个文件夹可以定义若干个类

定义类:使用关键字class

第二章

1.JDK:是java语言的软件工具开发包,是java基础环境和平台标准和工具包的封装

JRE:是java运行环境,用于设置环境变量

JRE中包含JVM(虚拟机)

2.若源文件中有多个类,则最多只能有一个public类,如果有,则源文件的名字必须与public类的名字相同.若源文件没有public类,那么源文件的名字由用户随意命名

3.main()方法没有返回值,在他之前要加上void关键字.

4.class是类的标志,类包括属性和方法.

第三章

1.数据类型:基本数据类型(整型,浮点型,逻辑型/布尔型,字符型)

引用数据类型(类,数组,接口)

2.整型:byte,short,int,long

浮点型:float,double

布尔型:Boolean

字符型:char

3.标识符:用来表示变量名,类名,方法名,数组名,和文件名的有效字符序列

标识符语法:由字母,数字,下划线,美元符号组成,可以以字母,下划线或美元符号开头,但是不能以数字开头

关键字不能当做标识符使用

4.常量:整型常量,浮点型常量,布尔型常量,字符型常量和字符串型常量.

单精度常量后跟一个字母f或F,双精度常量后跟一个字母d或者D.  双精度常量后边的d或者D可以省略.

整型常量:一般整型常量, 长整型常量(-32L,0L)

布尔型常量:true,false

字符型常量:用一对单引号括起来的单个字符,字符也可以是转义符. 'a' 'b'

字符串常量:用双引号引起来的一串若干个字符 "hhh"

常量的声明:用关键字 final声明,通常final写在最前面.  final int MAX=10

5.变量:先声明再使用,变量在使用之前必须先声明.

变量的基本要素:名字,类型,值,作用域.

声明变量:声明变量的数据类型和变量名称,必要时需要指定变量的初始数值.

变量声明格式:类型  变量名[=初值][,变量名[=初值]......];

变量初始化:声明变量的同时对变量进行初始化,即赋初值. int i=0;

变量的赋值(没有赋初值或者需要重新对变量赋值):变量名=值;

变量的赋值:在声明的时候赋值,声明后再赋值,在程序的任何位置声明并赋值

6.数据类型转换:自动数据类型转换,强制类型转换

占用比特数较少的数据转换为占用比特数较多的数据:自动转换

占用比特数较多的数据转换为占用比特数较少的数据:强制转换

转换类型的由小到大:byte,short,char,int,long,float,double

强制类型转换/显性转换:(欲转换的数据类型)  变量名

强制转换会导致数据存储位数的缩小,从而计算机数据精度的降低

7.专门用于输入操作的类: Scanner(扫描器)

数据输入:(1)导包: import  java.util.Scanner;(在public class的上边)`

(2)创建对象(固定句式)Scanner sc=new  Scanner(System.in);

(3)接收数据:int  x=sc.nextInt();

(4)输出数据:System.out.println("x"+x);

8.运算符

加一减一运算符的加一减一是针对于操作数来说的(P32)

算术运算符: +, -, *. /, %,++, --.

关系运算符:> , <, >=, <=, ==, !=.

逻辑运算符:! ,&&, || , &, |.

!:取反, 和操作数结果相反    !a=-a;

&:逻辑与, 两个操作数有false则false.

|:逻辑或, 两个操作数有true则true.

^:异或, 两个操作数相同为false,不同为true.

一元运算符:

+:正值 +a

-:负值 -a

++:加一 a++或 ++a

--:减一 a--或--a.

加一减一运算符可以放在操作数之前也可以放在操作数之后,如果放在操作数之前,操作数先进行加一减一运算,然后再进行表达式的运算.  如果放在操作数之后,则先进行表达式的运算,再进行加一减一运算.

二元算术运算符:  +  -  *  /  %(取余/取模运算)

三元算术运算符:(条件表达式)?表达式1:表达式2 如果条件表达式结果是true,则运算后的结果是表达式1,如果条件表达式结果是false,则运算后的结果是表达式2

第四章

1.//是单行注释

/*单行或多行注释*/

/**文件注释,描述类和数据以及方法*/

2.if条件语句(一种条件判断,两种条件判断,多种条件判断),switch选择语句

3.循环结构:while先判断后执行

do while:先执行后判断

for循环适合知道要循环的次数的情况

while循环适合不知道要循环多少次的情况

do while:至少执行一次,while可能不执行

循环三要素:1.循环变量的初始化

2.循环的条件(在什么范围内循环变量继续循环)

3.循环变量的改变,(循环变量向着循环结束的条件的改变)

4.在main方法中,需要在方法内初始化和赋值变量(成员变量),因为main方法是静态的,如果在类中定义赋值变量(全局变量),需要在初始化变量前面加上静态static

5.for(int i=0;条件判断语句;条件控制语句){

循环体语句

while循环:

初始化

while(条件判断句){

循环体语句;

条件控制语句;

do while循环

do{

循环体语句

条件控制语句

}while(条件判断语句) 

for(初始化和赋值;条件判断语句;条件控制语句){

循环体语句

增强型for循环

6.多重循环/循环嵌套:在循环语句的体内又有循环语句。(二重循环,三重循环)

循环中的跳转语句可以实现循环执行过程中的流程转移:break,continue,return。

break:1.终止循环体内容的执行 2.使switch语句终止某个case

continue:跳过某次循环体内容的执行,作用是终止这一轮的循环,跳过这一轮循环剩下的语句,直接进入下一轮循环。

return:用来使程序从方法中返回,并为方法返回一个值

return  表达式; //  返回表达式的值

7.程序流程结构:顺序结构,分支结构/ 选择结构,循环结构

分支结构/选择结构:if(一种情况的判断,两种情况的判断,多种情况的判断(else if)    switch语句,

8.在循环中声明的变量声明的是局部变量。退出循环这个变量就不复存在了

9.break语句一出现在循环中,整个循环结束,结束全部循环,例如switch选择语句,选择了一个case,其它case全部中止。

continue结束本轮循环,跳到循环的开始处执行下一轮循环。

return用来使程序从方法中返回,相当于给方法赋值。

10.random随机数及使用

(1)导包:import Java .util.Random

  (2)创建对象:Random r=New Random( );

(3)获取随机数:int nubmer =r.nextInt(取值范围的最大值)

第五章

数组:是若干个相同数据类型的元素按照一定的顺序排列的组合。

数组可以分为一维数组和多维数组。

内存分为栈内存和堆内存。栈内存:存储局部变量,超出变量的作用域后,会自动消失。

堆内存:存储成员变量以及new运算符创建的数组或对象。在堆内存中存储的内容由Java虚拟机的垃圾回收机制来自动管理,

类变量(也叫静态变量)是类中独立于方法之外的变量,用static修饰。

局部变量定义在方法之中的变量称为局部变量;局部变量要先赋值,再进行运算,而实例变量均已经赋初值。实例变量的对象赋值为null;

成员变量也称为实例变量。 静态变量也称为类变量。

成员变量和静态变量的区别:

(1)成员变量所属于对象。所以也称为实例变量。静态变量所属于类。所以也称为类变量。

(2)成员变量存在于堆内存中。静态变量存在于方法区中。

(3)成员变量随着对象创建而存在。随着对象被回收而消失。静态变量随着类的加载而存在。随着类的消失而消失。

(4),成员变量只能被对象所调用 。静态变量可以被对象调用,也可以被

8.null是空,用于定义引用变量,将一个引用变量赋值为null,表示该引用变量为空,“  ”

可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。

int  i=null 是错误的

9.数组:相同数据类型,有先后顺序,数组元素用数组名字和他在数组中的顺序位置来表示。a[0]:数组a中的第一个元素。  a[1]:数组a中的第二个元素。

10、数组格式:

数据类型[ ]  变量名:int[ ]  a :定义了一个int类型的数组,数组名是a。

数据类型  变量名[ ]:int  a[ ]:定义了一个int类型的变量,变量名是a数组。

11.一维数组的定义:声明、分配内存空间给数组(初始化)、创建数组元素并赋值。

数据类型[ ] 数组名; //声明数组

数组名=new  数据类型[个数]; //分配内存空间给数组(声明数组有几个元素,并且为他们分配内存空间)

也可以把这两步合为一步(动态初始化): 数据类型[ ]  数组名=new 数据类型[个数]

静态初始化是直接指定了元素内容,动态初始化只指定了元素个数.

12.一维数组元素的访问/引用:

数组名[下标] 数组的下标就是元素在数组中的顺序,是从零开始的

13.每个数组都有一个属性length指明他的长度. X.length:数组X所包含的元素个数. 数组名.length:获取数组的长度/元素个数

14.foreach语句:不用下标也可以遍历

for循环使用下标遍历:for (int  i=0,i

增强型for循环:for(int 变量名 : 数组名)-----输出sout(i)

p63:增强型for循环.

15.多维数组:数组元素也是数组的数组.

二维:

数据类型[ ][ ]  数组名; //声明二维数组

数组名=new 数据类型[行数][列数];

int[ ][ ] a; //声明二维整型数组a

a=new int[3][4]; //分配一块内存空间,供三行四列的整型数组a使用.

也可以:int[ ][ ]=new 数据类型[行数][列数];

Scanner类用来获取用户的输入(p29)

想要获得二维数组的行数:  x.length;

想要获得数组中某行数组的列数: 例如数组x的第一行元素的个数.x[0].length

数组x的第三行元素的个数:x[2].length

同时给二维数组声明和赋初值格式:例如

int[ ][ ] 数组名={{11,22,33,44},{55,66,77,88}}

16.字符常量:'  '

字符串常量:"  "

字符串变量需要声明和创建对象

(1)String 变量名=new String(”字符串“) //声明并创建字符串变量

(2)String 变量名=”字符串“

+号运算符可以用于两个字符串的连接操作。

17.字符串的调用:字符串变量名.方法名( );

18.remove方法删除被选元素.

第六章

1.类是对某一事物的描述,是抽象的概念上的定义.对象是类的一个实例,一个类可以对应多个对象

2.类包括属性与动作:属性包括成员变量与局部变量,动作是成员方法(不写static),静态方法/类方法是被static修饰的成员方法,实例方法是不被static修饰的成员方法

使用static修饰的成员变量是静态变量

 

 

你可能感兴趣的:(2022-01-23)