zoukankan      html  css  js  c++  java
  • (一)Java 编程语言基础

    第一章  初识 Java

    1、什么是程序?

    程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。

    2、Java语言的产生和发展史

    1995年5月,Sun公司开发一门新的编程语言----Java。

    J2SE (Java 2 Platform Standard Edition),包括构成Java语言核心的类,如数据连接、接口定义、输入/输出和网络编程等。

    J2ME (Java 2 Platform Micro Edition),包括J2SE中的一部分类,用于消费类电子产品的软件开发,如呼机、智能卡、手机、PDA和机顶盒等。

    J2EE (Java 2 Platform Enterprise Edition),Enterprise Edition(企业版)包含J2SE 中的所有类,并且包含用于开发企业级应用的类,如EJB、Servlet、JSP、XML 和事务控制,也是现在Java 应用的主要方向。

    其中最核心的部分是 J2SE, 而 J2ME 和 J2EE是在 J2SE的基础上发展起来的。从Java5.0开始,这三个发展方向分别更名为 Java SE、Java ME、Java EE。

    3、源文件

    .java 文件经过编译成为 .class文件,称为字节码文件。

    换行
    将光标移动到下一个水平制表的位置(一个制表位等于8个空格)

     4、Java注释

    单行注释://

    多行注释:/* */    (以 /* 开头,以  */ 结尾)

    5、Java虚拟机与跨平台原理

    Java 是一种被广泛使用的编程语言,它的主要特点在于它是一种既面向对象又可跨平台的语言。跨平台是指程序可以在多种平台上运行。

    Java语言跨平台,实际为每一个计算机系统提供了一个称为Java 虚拟机的环境。

    第二章  变量、数据类型和运算符

    1、变量

    通过变量名可以快速地找到它存储的数据,将数据指定给变量,就是将数据存储到以别名为变量的那个房间;调用变量,就是将那个房间中的数据取出来使用。

    可见,变量是存储数据的一个基本单元,不同的变量相互独立。

    变量都必须声明和赋值后才能使用。

    2、数据类型

    数据类型 说明 举例
    int 正型 用于存储整数,如学员人数、某公司的员工编号、一年的天数、一天 的小时数【占4字节】
    double 双精度浮点型 用于存储带有小数的数字,如商品的价格、世界银行给其他国家(地区)的贷款金额、员工工资【占8字节】
    char 字符型 用于存储单个字符,如性别(男、女)、成绩(优、良)
    String 字符串型 用于存储一串字符,如员工姓名、产品型号、产品的介绍信息
     boolean  布尔类型  真(true)、假(false)

    3、变量命名规则

    Java 变量名的长度没有任何限制。

    序号 条件 合法变量名 非法变量名
    1 变量必须以字母、下划线 “_” 或者 “$” 符号开头

    _myCar

    scorel

    $myCar

    graph1_1

    *myvariablel  //不能以*开头

    9variable       //不能以数字开头

    variable%     //不能包含%

    a+b             //不能包含+

    My Variable  //不能包含空格

    t1-2            //不能包含连字符

    2 变量可以包含数字,但不能以数字开头
    3 除了 “_” 或 “$” 符合以外,变量名不能包含任何特殊字符
    4 不能使用Java 语言的关键字,如 int、class、public 等

    4、常量

    常量代表程序运行中不能改变的值,如圆周率等。定义常量时,需要使用 final 关键字。常量名需要大写,多个单词之间使用 “_”  分隔。

    5、运算符

    算术运算符 说明 举例
    + 加法运算符,求操作数的和 5+3等于8
    - 减法运算符,求操作数的差 5-3等于2
    * 乘法运算符,求操作数的积 5*3等于15
    / 除法运算符,求操作数的商 5/3等于1
    % 取余运算符,求操作数的相除的余数 5%3等于2
    import java.util.Scanner;
    /* 
        这里获取一个整型变量,因此调用 nextInt();
        如果获取的是字符串,则需要调用next()方法。    
     */
    Scanner input = new Scanner(System.in);
    System.out.println("JAVA的成绩是:");
    int stb = input.nextInt(); // JAVA成绩

    6、关系运算符

    关系运算符 说明 举例
    > 大于 99>100,结果为false
    < 小于 大象的寿命<乌龟的寿命,结果为true
    >= 大于等于 你的考试成绩>=200分,结果为false
    <= 小于等于 每次的考试成绩<=60分,结果为false
    == 等于 地球的大小==篮球的大小,结果为false
    != 不等于 水的密度!=铁的密度,结果为true

    注意:“=” 和 “==” 的区别

    (1)“=” 是赋值运算符,即把 “=” 右边的值赋值给 “=” 左边的变量,如 int num = 20;

    (2)“==”  是比较运算符,即 “==” 左边的值与 “==” 右边的值比较,看他们是否相等,如果相等则为true,否则为 false,如3==4的结果为false。

    7、条件运算符

    条件运算符是Java 中唯一的需要三个操作数的运算符,所以又称三目运算符或三元运算符。

    条件运算符的语法如下:条件 ? 表达式1 :表达式2

    在语法中:(1)首先对条件进行判断,如果条件结果为true,返回表达式1 的值。

         (2)如果条件结果为false,返回表达式2 的值。

    第三章 逻辑结构(选择结构、循环结构)

    1、选择结构

      if (条件){

        // 代码块1

      }else{

        // 代码块2

      }

    运算符 汉语名称  表达式 说明 举例
    && 与、并且

    条件1

    &&

    条件2

    两个条件同时为真,则结果为真;

    两个条件有一个为假,则结果为假

    具有选举权的条件:年满 18周岁 && 中国公民

    两个条件都为真,则具有选举权;

    有一个条件为假,则不具有选举权

    || 或、或者

    条件1 

    || 

    条件2

    两个条件有一个为真,则结果为真;

    两个条件同时为假,则结果为假

    从中国去美国的方式:乘飞机 || 乘船。

    两个条件有一个条件为真,就可以去美国;

    若都为假,则去不了美国

    ! ! 条件

    条件为真时,结果为假;

    条件为假时,结果为真

    成为优秀软件工程师的条件: !偷懒
    /* 产生随机数(0-9中任意整数) */
    int random = (int) (Math.random() * 10);
    int i = 1;
    switch (i){
    case 1:
    //代码块1
    break;
    case 2:
    //代码块2
    break;
    //...
    default:
    //代码块n
    break;
    }
    注意:default:标识“默认”,即其他情况都不满足。default后要紧跟冒号。default块和case块的先后顺序可以变动,不会影响程序执行的结果。
    通常,default块放末尾,也可以省略。
    2、循环结构
    int i = 3;
    while (i < 4){
    //代码块
    }

    int i = 6;
    do {
    System.out.println("好好学习!");
    }while (i < 5);
    注意:执行顺序(1)声明并初始化循环变量。
           (2)执行一遍循环操作。
           (3)判断循环条件,如果循环条件满足,则循环继续执行;否则退出循环。
    do-while 循环的特点是先执行,再判断。
    根据do-while循环的执行过程可以看出,循环操作至少执行一遍。

    int j = 5;
    for (int i = 0; i < j; i++) {
    //代码块
    }
    3、跳转语句
    Java支持三种形式的跳转:break、continue、return
    关键字 区别 说明
    break
    用于终止某个循环中,程序跳转到循环体外的下一条语句 用于终止某个循环,使程序跳转到循环体外的下一条语句。在循环中位于break后面的语句将不再执行,循环也停止执行。
    continue
    用于跳出本次循环,进入下一次循环的语句
    continue语句只能用在循环结构中
    return    









    4、程序调试
    在调试视图中,按 F5 键或 F6 键都是单步执行。区别如下:
    (1)按 F5键“单步跳入”,会进入本行代码内部执行,如进行方法内部;
    (2)按 F6键“单步跳过”,仅执行本行代码,执行完则跳到下一行代码;

    第四章 数组
    1、数组概述
    Java中,数组就是一个变量,用于将相同数据类型的数据存储在内存中。数组中的每一个数据元素都属于同一个数据类型。
     数组中的每一个元素都可以通过下标来访问。由于元素是按顺序存储的,每个元素固定对应一个下标,因此可以通过下标快速地访问到每一个元素。
    数组越界:数组的大小(长度)是数组可容纳元素的最大数量。定义一个数组的同时也定义了它的大小。
    如果数组已满但是还继续向数组中存储数据的话,程序就会出错,这就是数组越界。
    2、数组的使用
    语法:数据类型[] 数组名;或 数据类型 数组名[];
    例如:int [] scores; double height[]; String[] names;

    分配空间就是要告诉计算机在内存中分配一些连续的空间来存储数据。在Java中可以使用new 关键字来给数组分配空间。
    语法: 数组名 = new 数据类型[数组长度];
    其中,数组长度就是数组中能存放的元素个数,显然应该为大于0的整数。
    例如:
    scores = new int[30]; //长度为30的int类型数组

    height = new double[30]; //长度为30的double类型数组
    names = new String[30]; //长度为30的String类型的数组

    合并后:数据类型[] 数组名 = new 数据类型[数组长度];
    例如:
    int [] scores = new int[30];
    注意:一旦声明了数组的大小就不能再修改了,即数组的长度是固定的。
    赋值:分配空间后就可以向数组里放数据了。数组中的每一个元素都是通过下标来访问的。
    创建数组的另一种方式:
    语法:数组类型[] 数组名 = {值1,值2,值3,...值n};
    例如:int[] scores = {60,70,80,90};
    同时,它等价于下面的代码,
    int[] scores = new int {60,70,80,90};
    经验之谈:错误示例,int[] scores; scores = {60,70,80,90};
    如果定义的数组是基本数据类型的数组,即int、double、char、和 boolean 类型。在Java中定义数组之后,
    若没有指定初始值,则以数据类型不同,会给数组元素赋一个默认值。如图示
    数据类型 默认值
    int 0
    double 0.0
    char 'u0000'
    boolean false









    3、数组应用
    数组排序
    语法:Arrays.sort(数组名);【升序】

    4、Arrays类及其常用方法
    JDK中提供了一个专门用于操作数组的工具类,即 Arrays类,位于java.util包中,
    该类提供了一系列方法操作数组,如排序、复制、比较、填充等。用户直接调用这些方法即可,不需要自己编码实现,降低了开发难度。
    Arrays类的常用方法
    返回类型 方法 说明
    boolean equals(array1,,array2) 比较两个数组是否相等
    void sort(array) 对数组array的元素进行升序排序
    String toString(array) 将一个数组array转换成一个字符串
    void fill(array,val) 把数组array的所有元素都赋值为val
    与array数据类型一致 copyOf(array,length) 把数组array复制成一个长度为length的新数组
    int binarySearch(array,val) 查询元素值val在数组array中的下标

















    5、二维数组
    Java中定义和操作多维数组的语法与一维数组类似。在实际应用中,三维及以上的数组很少使用,主要使用二维数组。
    语法:数据类型[][] 数据名; 或者 数据类型 数组名 [][];
    在语法中:
    数据类型为数组元素的类型。
    “[][]”用于表明定义了一个二维数组,通过多个下标进行数据访问。
    注意:需要强调的是,虽然从语法上看,Java支持多维数组,但从内存分配原理的角度讲,Java中只有一维数组,没有多维数组。
    或者说,表面上是多维数组,实质上都是一维数组。

    例如:int[][] s = new int[3][5];
    解释:定义了一个二维数组,但是从内存分配原理角度讲,实际上是定义了一个一维数组,数组名是s,
    包括3个元素,分别是s[0],s[1],s[2],每个元素是整型数组类型,即一维数组类型。
    而s[0]又是一个数组的名称,包括5个元素,分别为s[0],s[1],s[2],s[3],s[4],每个元素都是整数类型。s[1],s[2]与s[0]的情况相同,其存储方式如下

    二维数组存储方式示意图
    注意:二维数组实际上是一个一维数组,它的每个元素又是一个一维数组。

    二维数组及其使用
    二维数组也可以进行初始化操作,与一维数组类似,同样采用如下两种方式,要注意大括号的结构及书写顺序。
    下面是定义二维数组并初始化数组元素的两种方法。
    关键代码:
    int[][] scores = new int[][]{{90,85,92,78},{76,63,80},{87}}
    //或者
    int scores[][] = {{90,85,92,78},{76,63,80},{87}};

    总结:(1)数组是可以在内存中连续存储多个元素的结构,数组中的所有元素必须属于相同的数据类型。
       (2)数组中元素通过数组的下标进行访问,数组的下标从0开始。
       (3)数组可用一个循环为元素赋值,或用一个循环输出数组中的元素信息。
       (4)通过数组名 .length可获取数组长度。
       (5)利用Array类提供的sort()方法可以方便的对数组中的元素进行排序。
       (6)二维数组实际上是一个一维数组,它的每个元素又是有个一维数组。
    第五章 循环结构进阶
    二重循环:简单地说,二重循环就是一个循环体内又包含另一个完整的循环结构。
    譬如:打印乘法口诀、三角形、冒泡排序等。或者业务逻辑的多重判断。 

    PS:以上是Java语言基础重点整理,本人纯手撸。如果错误,还请大家及时纠正。
  • 相关阅读:
    周总结5
    《梦段代码》阅读笔记01
    NABCD
    结对开发(四则运算)
    《人月神话》阅读笔记03
    周总结4
    移动端疫情显示
    周总结3
    《人月神话》阅读笔记02
    软件工程第四周作业
  • 原文地址:https://www.cnblogs.com/liyh321/p/13991576.html
Copyright © 2011-2022 走看看