前八章的总结

本文详细介绍Java语言的基础概念和发展历程,涵盖语法、数据类型、流程控制、类与对象等核心知识点,适合初学者快速掌握Java编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章初识Java

1. Java的诞生
1995年5月23日, Sun科技部主管John Gage 和Netscape创始人及副执行官Marc Andressen 登上讲坛向SunWorld 的听众宣布Java技术正式诞生。Java语言之父James Gosling。

2. JDK(JAVA开发工具)版本
JDK1.0(1996年1月23日)
Jdk2.0-jdk4.0 JAVA2
Jdk5.0
Jdk6.0 java5

3. 三大平台
J2SE(标准版)桌面应用开发,普通PC及笔记本
J2EE(企业版)适用于服务器,重点定位于企业级别的分布式软件系统
J2ME(移动版)嵌入式设备,例如手机、家电设备等
4. Java的特点
简单(C系语言、去掉C语言不必要的比分、类库多)
面向对象(把万物看成对象,非过程)
与平台无关
健壮性与安全性(1.去掉指针及C语言中不必要的部分2.垃圾回收机制3.异常处理)
多线程

5.JDK与jre(Jre在jdk中,jre全称java runtime environment(java 运行时)
**

第二章Java基础语法

**
1. 关键字(对编译器有特殊的含义,并且不能用作为标识符的单词)
表2-1 Java语言关键字
abstract boolean break byte case
catch char class const continue
default do double else extends
assert final finally float for
goto if implements import instanceof
int interface long native new
strictfp package private protected public
return short static super switch
synchronized this throw throws transient
try void volatile while

2. 标示符(打下标记帮组识别的符号)
变量、常量、数据类型、方法名、函数名、参数名都是标示符
标示符分为两种系统定义标示符和自定义标示符
命名规则:
1.不能是关键字或true、false、null。
2.可以包含字母、数字0-9、下划线(_)或美元符号(3.线)。3.第一个字符必须是一个字母、下划线()或美元符号()。
4.区别大小写的,并且没有规定最大长度。
3.数据类型
数据类型分为基本数据类型和引用数据类型两种
基本数据类型:
数值型:
整数型:int(4字节)、long(8字节)、short(2字节)、byte(1字节)
浮点型:float(单精度浮点型32位小数点)、double(双精度浮点型64位小数点)
字符型:
char(字符型)、String(字符串)
布尔型:
blooean(true、false)
4.变量的概念及申明、赋值

变量,即可变的一个量
变量的申明:数据类型 变量名
变量名的命名规则:
(1) 不能是Java中的关键字
(2) 不能以数字开头
(3) 以数字、字母下划线组成,可用$符号
(4) 多个单词以_隔开
(5) 见名知意
(6) 驼峰命名法
赋值可在申明时赋值,也可以先声明后赋值
如:int age;age=0等价于 int age=0;

5、Java中的转义字符
表2-3 Java的转义字符
字 符 含 义 Unicode表示符
\b 退格 \u008
\t 制表符 \u0009
\n 换行 \u000a
\r 回车 \u000d
\’ 单引号 \u0027
\ 反斜杠 \u 005c

6、常量(不会变化的量)
常量即真理存在不可变化,如圆周率3.14是不会变化的量。
常量命名规则:
大写所有英文单词
如:float PI=3.14;
7、运算符
(1)算术运算符
+、-、*、\
(2)赋值运算符
=、+=、-=、*=
(3)比较运算符

、<、>=、<=、!=
(4)逻辑运算符
&&、||、!(与或非)
(5)前置运算(++、–)
++在前:先加1在运算
++在后:先执行在加1
–同上
(5)移位运算(<< 、>>)
一般用于二进制位运算
《左移从左边第一位移动,在后面添0
》右移从右边第一位移动,在前面添0
(7) 三目运算

(布尔表达式)?x:y

意义为布尔表达式为真,则选择x,否则选择Y
一般用于等值比较
(8) JAVA中的注释
注释是增强代码的可读性,通过注释可以让别人知道你在做什么事情。注释不会被编译,更不会执行。
单行注释:

System.out.print("hello world!");//在控制台打印helloworld!

多行注释:
/注释部分/

int a,b;
int sum=0;
sum=a+b;
/*
sum适用于计算a和b的和
*/

文档注释:
JavaDoc:/* /

/**
*此方法用于计算两个整数的和
*@author Administor
*@return a+b的和
*/
public int add(int a,int b){
return a+b;
}

第三章程序流程控制

1. 流程控制
改变程序流程的三种基本技术:(1)调用方法(2)选择(3)循环
2. 选择结构
选择执行
选择结构包括if语句、if else语句及switch语句
If语句:
如果表达式成立则执行语句块

if(表达式){ 
语句块;
}

表达式的值为布尔型
If else 语句:
如果表达式成立则执行语句块1,否则执行语句块2

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

嵌套if:
如果表达式1成立,再判定表达式2是否成立,若成立,则执行语句块1。

        if(表达式1){
                 If(表达式2){
                            语句块1;
                     }
            }

多分支if:
如果表达式1不成立执行表达式2

      if(表达式1){
  }else if(表达式2){

  }else if(表达式 3){

 }
  多分支 switch:
  Switch(变量){
    Case 变量值:
    语句块;
    Break;

}
Break跳出整个分支;
if举例
通过if…else通过学生成绩判断等级,为百分制。90分及以上为优秀,70-89为良好,60-69为合格,60分以下为不合格。

public static void main(String[] args){
Scanner sc=new Scanner(Syetem.in);
//输入成绩
if(score>=60){//成绩大于60
    if(score<70){
    //大于60小于70
        System.out.print("该学生成绩为合格!");
//大于70小于90
         System.out.print("该学生的成绩为良好!");
     }else{
     //大于90
         System.out.print("该学生成绩为优秀!");
     }
}else{
//小于60
    System.out.print("该学生的成绩为不合格!")
}

3. 循环结构
用于解决重复性问题
循环结构分为三种(while、do while、for)

while循环
可用于未知次数循环
当条件成立时执行循环体

while(表达式){
循环体;
}

do while 循环
做某件事直到

dO{
循环体;
}while(表达式)

至少执行一次

for循环
常用于已知循环次数

for(表达式1;表达2;表达式4){
循环体3;
}

表达式1为初始化变量,仅执行一次
表达式2为范围
表达式4为增量或减量
执行顺序为1234,234

循环案例:
计算1-2+3-4+5….-100的和:

int sum=0;
for(int i=1;i<=100;i++){
  if(i%2==0){
    sum-=i;
  }else{
    sum+=i;
  }
}
System.out.print("1-2+3-4+5-6....-100"+"的和为"+sum);

4、break与continue
Break用于结束整个循环体;
Continue 用于结束本次循环

案例:
计算1-100中前10个奇数,并输出:

int count=0;
for(int i=1;i<=100;i++){
    if(i%2!=0){
    System.out.print(i+" ");
    count++;
    }
    if(count==10){
    break;
    }
}

**

第四章类、对象和包

**
Java中的类用关键字class声明。Java源代码文件中只能包含一公用(public)类,文件名必须与公用类的类名相同,文件扩展名为“.java”
1. 声明类:

Public class 类名{

}
  1. 类中的成员变量
    对象的属性成为相关类中的成员变量。
    类中的一个成员变量由访问修饰符(public、private、protected)、数据类型和成员变量名称组成。
    如:
Public class People{
  Public String name;
  Public int sex;
  Public int age;
}

3、类中的方法
对象的行为成为相关类的方法。
类中的方法由访问修饰符、返回值、方法名和参数列表(在括号中出现)组成。
如:

/**
*人类
*/
Public class People{
 Public String name;//姓名
 Public boolean sex;//性别
 Public int age;//年龄

 Public void getName(){
        System.out .println("name:"+name);
        }
 }

注:此时的类只是定义了,并未调用,所以不会执行。
4、实例化对象
在Java中,new关键字用于实例化一个对象。
如:

People person1;
Person1=new people();

如果要调用里面的方法,不能直接写;必须引用
如:

person1.getName();

5、this关键字
每个对象可以使用this关键字引用它本身。如果一个类的方法需要访问该类本身的成员变量或其它方法,就应该使用this引用。

/**
*此方法用于修改名字
*/
public void setName(String name){
this.name=name;
}
//此处的this.name代表本类中的对象

6、pakage包
Java中根据内容不同创建了100多个包,采用包机制为类更加方便管理我们的类文件。我们常常把电脑分为C盘系统盘、D盘软件盘、E盘文档,学习资料等等,是为了方便管理。
包名的命名规则是通常为英文小写。
第一级包名通常代表公司类型,.com表示商业的,org表示组织机构,edu表示教育行业,gov代表政府部门。
第二级包名通常为公司简称或团队名称
第三级包名通常为项目名称
第四级包名通常是具体的功能模块,比如工具包、实体包、主入口等等。
7、import 关键字
Import 导入其他包
import 包名.类名(类名可为*即该包下的所有类)

第五章对象的行为

1.方法调用栈
所有的方法调用都维护在一个称为调用栈的结构中。当前正在执行的方法位于调用栈的顶部。当前方法执行完成后,就从调用栈的顶部移除,控制流程返回栈中的前一个方法。当一个新方法被调用后,这个新的方法就放在调用栈的顶部。
2.方法调用
方法调用后有3种情况,(1)返回值(2)不返回值,为void(3)给出异常值
3.方法签名
方法签名包括方法名、参数列表和返回值的数据类型。
Main()方法的签名:

Public static void main(String  []  args)

包括如下内容:
(1) 访问修饰符
Public 表示所有均可调用该方法
Private 表示仅在该类中调用
Protected 表示在该包中调用该方法
(2) 可选修饰符(包括static、final、abstract、native)
(3) 返回值(必须包含返回值,void 及八大类型或者引用类型)
(4) 方法名
方法名一般在返回值后面,一般遵循命名规范,驼峰命名法。
(5) 参数列表
参数列表一般在方法名后面的圆括号中,一般为数据类型+变量名。可以有多个,也可省略。
3. 形参和实参
形参:形式参数,一般用于方法申明时的参数列表,无实际值。
实参:实际参数,一般用于方法被调用时的参数。
4、按值调用
当实际参数传递给形式参数时,实际参数的数据被复制给形式参数。在编程中,在方法调用之间复制数据的过程称为按值调用
5、方法的重载
同样的方法名,参数列表不一致

public int add(int a,int b){
    return a+b;
}
public double add(int a,double b){
 return a+b;
}
//这两个方法都用于计算两数的和,方法名一致,
但参数类型、参数列表、返回类型不一致。

6、构造器
构造器是类中的一个特殊的方法,该方法在对象实例化时被调用。构造器的用途是当对象实例化时,初始化对象中的成员变量。
构造器的名称必须与类名相同。
构造器不能声明返回值,也不能返回void。
构造器也可理解构造方法,构造器有两种无参构造和有参构造。默认会加上无参构造,但当我们自己写构造器时,就不会再加构造器。
构造器的作用就是产生对象,当使用new关键字时,就调用了构造器。
new对象执行的顺序是:
1.在内存中分配对象那么大的空间
2.为成员变量申请空间(引用数据类型:4个字节,基本数据类型按实际情况)
3.为成员变量初始化(引用数据类型为null,基本数据类型为0,布尔型为false)
4.执行构造器中的代码

public class Person(){
   private String personName;
   private String gender;
   private int age;
   Private int height;
   /**
   *Person()为构造器
   */
   public Person(){
   super();
   }
}

7、在构造器中使用this
在构造器中,可以用this()来调用同一个类中的其它构造器。
如果一个构造器用this()来调用本类中的其它构造器,那么这个this语句必须是本构造器的第一行,否则,会产生一个编译器错误。

   public Person(){
   super();
   }
   public Person(String name,boolean gender){
   this();
   this.name=name;
   this.gender=gender;
   }

第六章数组

数组的概念
数组是存储在一个连续的内存块中的元素集合。
一个放东西的容器,把相同类型的东西存放在一块连续的区域。
数组中有索引的存在,便于我们查找数组中具体的数。
数组的索引也叫下标,下标从0开始。所以一个长度为5的数组最大索引为4,若为5则会出现数组越界异常。
申明与初始化数组
方法1:数据类型[] 数组名;
数组名=new int[数组长度]
可写为:
数据类型[] 数组名=new int[数组长度]
方法2:数据类型 数组名[];
数组名=new int[数组长度]
数据类型 数组名[] =new int[数组长度]
建议使用方法1,方法2容易理解为是定义一个变量。
这里一定要写数组长度,数组是一个固定长度的。
这里的数据类型可为基本数据类型和引用数据类型。
基本数据类型声明后为0,引用数据类型为null

String[] names=new String[5];//声明数组
//可通过下标0,1,2,3访问
names[0]="张三";
names[1]="李四";
names[2]="王五";

在数组的长度比较小时,数据量不大时,可以如下方式声明并初始化:

String[] names={"张三""李四""王五"};

未完,待续……………………………………………………..

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值