美文网首页
2018-11-22java核心技术

2018-11-22java核心技术

作者: w_water | 来源:发表于2018-11-29 13:36 被阅读0次

    流程控制语句

    if条件语句

    if (表达式){执行语句块};
    -表达式的值必须是布尔型的值

    if.....else条件语句

    if ...else 语句作用:针对 某种条件有选择地做出处理
    如果布尔表达式的值为true,则执行语句1
    如果布尔表达式的值为false,则执行语句2
    如果有多个条件,可以用逻辑运算符连接成为表达式
    判断变量i能否同时被2和3整除:
    (i%2==0)&&(i%3==0)
    判断变量a大于100或者b小于50:
    (a>100)||(b<50)

    if......else if条件语句

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

    switch 条件语句

    switch (表达式){
    case 取值1:
    语句块1

    case 取值n:
    语句块n
    default:
    语句块n+1
    }
    switch 语句特点:
    表达式的值只可以接受int、byte、char、short 、String型,不接受其
    他类型的值
    表达式的值接受String类型只在JDK7及以后版本有效
    switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。不允许有重复的case取值
    switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置,开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,直到碰到break关键字或者结束switch语句的大括号为止
    case之间与default没有顺序。先判断所有的case,没有匹配的case执行default。因此一般将default放在case后面。
    switch语句停止的条件是遇到了break关键字或者结束switch语句的大括号

    控制台输入

    可以通过控制台得到用户的输入(程序会等待用户输入后再继续执行):
    使用控制台输入,需要加入代码
    import java.util.Scanner;
    该代码必须在package下一行
    如果没有package声明,可以在第一行
    new Scanner(System.in).nextInt():得到用户输入的整数
    new Scanner(System.in).nextDouble():得到用户输入的浮数
    new Scanner(System.in).next():得到用户输入的字符串,空格结束
    new Scanner(System.in).nextLine():得到用户输入的字符串,换行结束
    示例代码:
    控制台输入
    package com.neuedu.ch03;
    import java.util.Scanner;
    public class InputTest {
    public static void main(String[] args) {
    int a01 = new Scanner(System.in).nextInt();
    double b01 = new Scanner(System.in).nextDouble();
    String c01 = new Scanner(System.in).next();
    String c02 = new Scanner(System.in).nextLine();
    }

    产生随机数

    随机数:在产生过程中是按照分布概率随机产生的,其结果是不可预测的。
    伪随机数:计算机中的随机函数是按照一定算法模拟产生的,因此称为伪随机数。
    使用随机数程序,需要加入代码
    import java.util. Random;
    该代码必须在package下一行如果没有package声明,可以在第一行多行import可以依次编写,import代码没有必须顺序产生随机数代码:new Random().nextInt(正整数);
    括号中的数字代表产生随机数的范围
    例如:如果数字为10,产生0到9之间的随机整数。

    循环语句

    while(条件表达式){
    执行语句块
    }
    实例:
    int x=1;
    while(x<3){
    System.out.println("x="+x);
    x++;
    }

    代码调试

    使用sts可以让代码一行一行执行
    -设置断点
    -启动调试运行
    -单步执行F8
    -观察变量

    do......while循环语句

    do{
    执行语句块
    } while(条件表达式 );
    特点:先执行一遍然后在判断

    for循环

    for(初始化表达式;循环条件表达式;循环后的操作表达式){
    执行语句块
    }
    for循环是编程中最常见到的循环语句

    流程控制进阶

    流程控制嵌套使用
    流程控制嵌套使用语法
    流程控制嵌套使用注意事项
    死循环
    while实现 while(true){ }
    for实现 for(int i=0;;i++)
    do...while实现
    流程中断
    break 打断跳出循环,可以用标签跳出外层循环
    continue 跳过满足条件项目继续执行

    数组:数组可以看成是多个相同类型数据的组合,实现对这些数据的统一管理

    数组元素:数组中的每一个数据,称为数组的一个元素(element)
    数组中的元素可以是任何数据类型,包括基本数据类型和引用类型
    数组中元素的个数,称为数组的长度(length)
    JAVA语言中声明数组时不能指定其长度
    例如:
    int a[5]; //非法
    int a[]; //合法
    int[] a; //合法

    数组的声明:

    int a[ ] ;
    int[ ] b ;
    double d[ ] ;
    char[ ] ch ;
    String stu[ ]

    指定数组长度:

    数组名=new 数组元素类型[元素个数]
    int [] a=new int[5];

    数组是存储多个相同类型变量的对象。数组的所有元素保存在堆内存中。

    创建一个数组就是在堆中创建一个数组对象。数组创建后立即拥有默认值。
    1、整数类型数组的默认值是0
    2、String类型定义的数组,默认值是null
    3、char类型定义的数组,默认值是0对应的字符
    4、浮点类型定义的数组,默认值是0.0
    5、boolean类型数组的默认值是false

    数组初始化

    在创建数组的同时就为数组元素分配空间并赋值
    int a[ ] = {1,2,3,4,5} ;
    数组类型 数组名[ ] = { 元素1 ,元素2 ,…}或者
    数组类型 数组名[]=new 数据类型[]{元素1,元素2.....}
    int a[ ] = new int[]{1,2,3,4,5} ;

    数组元素的赋值

    Java中,数组元素的下标从0 0开始;
    元素的下标可以是整型常量或整型表达式;
    数组的查询效率高,可以通过下标进行对数组的定位检索。
    数组名[元素下标]=元素值;
    int a[ ] ;
    a = new int[5] ;
    a[0] = 1;
    a[1] = 2;
    a[2] = 3;
    a[3] = 4;
    a[4] = 5;

    创建数组

    声明数组:和使用变量要先声明一样,先声明数组的类型和名称
    构造数组:
    构造/创建数组使用了关键字new,它是内存分配操作符,所谓创建数组,就是在内存中给数组分配空间。
    初始化数组:使用new创建数组后,所有元素其实已经被初始化,元素都是默认值,这种初始化就叫做”动态初始化“。
    还有一种初始化方式是不使用new,而是在声明数组的同时就完成创建和初始化工作,这叫做”静态初始化“。
    如:int[ ] buf = {10,20,30,66};
    数组元素赋值:
    int[ ybers;
    int[ ] myNumbers;
    ybers = new int[20];
    myNumbers = new int[20];
    myNumbers [ 0 ] = 5;
    myNumbers [ 1 ] = 10;
    myNumbers [ 2 ] = 15;
    myNumbers [ 3 ] = 20;
    myNumbers [ 0 ] = 5;
    myNumbers [ 1 ] = 10;
    myNumbers [ 2 ] = 15;
    myNumbers [ 3 ] = 20;

    foreach循环访问数组

    是for的循环特殊简化版本,其语法为:
    for(数组元素类型 变量名:数组名){
    语句;
    }
    作用:该循环方式为按照数组下标顺序,依次将冒号右边数组中的每个元素赋值给冒号左边的变量,数组长度为for循环的次数

    数组长度

    数组有length属性,用来显示本数组的长度,语法为:
    数组名.length
    特点:
    数组的长度length必须>0;
    length为只读,不能被赋值;
    利用length遍历数组
    示例
    class Hello {
    public static void main( String args[ ]) {
    int a[] = {1,-12,33};
    for(int i=0;i<a.length;i++){
    System.out.println(a[i]);
    }
    }
    }

    一维数组

    数组的异常
    数组越界异常(  ArrayIndexOutOfBoundsException) 
    

    多维数组

    java中没有真正的多维数组,只有数组的数组
    锯齿数组
    创建方法:
    数组类型 数组名[][] 数组类型 [][] 数组名
    数组类型[] 数组名[]
    int a[ ] [ ] ;
    int[ ][ ] b ;
    int[ ] c[ ] ;
    多维数组的创建
    注意:必须声明行的个数
    数组名 = new 数据元素类型[ 行数 ] [ 列数 ] ;
    数组名 = new 数据元素类型[ 行数 ] [ ] ;
    a = new int [3][4] ;
    a = new int [3][ ] ;
    a = new int [ ][4] ; //非法

    必须声明行的个数

    多维数组

    多维数组的初始化
    int a[ ][ ] = { {1,2,3}, {4,5}, {7} } ;
    int a[ ][ ] = new int[ ][ ]{ {1,2,3}, {4,5}, {7} } ;
    数组类型 数组名[ ][ ] = { { 元素11 ,元素12 ,…} , { 元素21 ,元素22 ,… } }
    数组类型 数组名[ ][ ] = new 数据类型[ ][ ] { { 元素11 ,元素12 ,…} , { 元素21 ,… } }
    int a[ ][ ] = { {1,2,3}, {4,5}, {7} } ;
    int a[ ][ ] = new int[ ][ ]{ {1,2,3}, {4,5}, {7} } ;

    冒泡排序法

    冒泡排序法是一种简单的排序算法它重复地走访过要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。

    相关文章

      网友评论

          本文标题:2018-11-22java核心技术

          本文链接:https://www.haomeiwen.com/subject/ythrqqtx.html