zoukankan      html  css  js  c++  java
  • java基础语法2

    一:运算符和表达式

    1.表达式

    表达式是由常量变量对象方法调用和操作符组成的式子。根据运算符的不同,表达式相应的分为下面几种:算数表达式、关系表达式、逻辑表达式、赋值表达式,这些都属于数值表达式。

    2.运算符

    •算术运算符   进行基本的算数运算,如加法、减法、乘法、除法,在字符串中,‘+’可以作为连接符

    n++ :先执行一次操作,再对n进行加1运算

    ++n :先对n进行加1运算,再执行一次操作

    •赋值运算符     =

                   格式 :变量 = 表达式;从右往左进行运算

    •关系运算符 :判断数据的大小,比较的结果是布尔值

    'A' > 'B' 的结果是false,这时比较的是两个字符的ASCII值

    •逻辑运算符: &与 、|或、!非 , 用来连接一个或多个条件,判断这些条件是否成立,其运算数都是布尔类型

    && 与 || :又叫做短路运算符,如果第一个表达式的值就可以决定表达式最后的结果,预算符右边的表达式就不需要进行运算了

    •条件运算符

    格式:布尔表达式?表达式1: 表达式2

    布尔表达式的值为true时,返回表达式1的值,否则返回表达式2的值

    •位运算符

    &(与)、|(或)、 ^(异或)、<<(左移)、>>(右移)、>>>(无符号右移)、~(取反) 
    注意:位运算针对的是整数,运算的是数据的补码 
    可以利用&来判断是否是奇偶数。

    运算符的优先级:

    二:流程控制

    顺序结构,选择结构,还有循环结构三种

    1.顺序结构

    顾名思义顺序结构就是程序从上到下一条一条的按照顺序进行执行,没有语句的判断和跳转,直到程序结束。

    2.选择结构

    主要分为if语句和switch语句两种类型

    If语句又可以分为以下几种:

    ① If(表达式){语句};

    ② If(表达式){语句1};else{ 语句2};

    ③ If(表达式1){语句1};

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

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

    ...........

    ...........

    else {语句n};

    ④ 嵌套if语句:

    If(表达式1){

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

          else {语句2};

          }

    else{

          If(表达式3){语句3};

          else{语句4};

            }

    注意:在使用时if后面必须是一条语句,如果是多条语句,必须使用大括号将其组成复合语句。否则编译的时候可能会出现错误。

    switch选择结构的格式如下:

    switch(表达式){

     case 常量表达式1: 语句1;

     case 常量表达式2: 语句2;

     .............

     case 常量表达式n: 语句n;

     default: 语句n+1;

    }

    注:

    ① default语句是可选的,他接受除了上面接受的值。

    ② case后面只能跟一条语句,如果有多条语句必须将其写成复合语句的形式。

    ③  switch判断语句只可以接受byte,short,char,int型,不能接受其他的类型 。

    ④ 一旦第一次遇到与case匹配的语句,就直接执行这条语句以及后面的所有语句。

    ⑤  case语句遇到break就会跳出,所以通常与break配合使用。

    3.循环结构

    for循环,while循环语句,do-while循环。

    (1)for循环语句:

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

    注:表达式1一般都是变量赋初值,表达式2是判断语句,表达式3是控制变量增减的语句。执行过程是先执行表达式1,然后判断表达式2,表达式2成立的话再执行循环体语句,然后判断表达式3.直到表达式2条件不成立时跳出循环。循环体语句必须是一条语句,如果是多条语句必须用{ }括起来,组成符合语句。

    (2)while循环语句格式如下:

    while(表达式){

          循环语句;

    }

    while语句一般是在不知道循环次数的情况下使用,执行过程是先判断表达式,当表达式成立时再执行循环体语句,如果表达式不成立,则直接跳出循环。一般变量赋值在while语句之前给出。

    (3)do-whlle循环语句格式如下:

    do{

       语句;

      }while(表达式);

    do-while语句无论表达式是否成立都会执行一次,也就是先执行后判断。

    总结:当已知循环的次数时优先选择for循环,当循环的次数不知,而且循环条件比较明显时用while循环,当无论循环条件是否成立,循环体语句至少被执行一次时,选择do-while。

    4、break与continue关键字:

    (1)break关键字不仅可以用于switch语句,还可以用于循环语句,当满足某个条件时直接跳出循环。

    (2)continue关键字可以用于循环语句,经常与if配套使用,当满足if条件时,就不再执行continue后面的语句,而是进入下一次的循环。

    三:数组

    1.数组定义:存储固定大小的同类型元素

    数据类型[] 数组名 = new 数据类型[元素个数或数组长度];

    例如:int[]x=new int[123]//创建一个长度为123的int类型的数组 ,第一个变量的名称为x[0],第二个变量的名称为x[1]

    创建初始化和操纵数组

    
    
    package com.number1.com;
    
    public class TestArray1 {
        public static void main(String[] args){
            double[] x={1.1,2.1,3.1,4.1,5.1};
            //打印所有的数组元素
            for (int i=0;i<x.length;i++){
                System.out.println(x[i]+" ");
            }
            //计算所有的数组元素和
            double sum=0;
            for (int i=0;i<x.length;i++){
                sum+=x[i];
                System.out.println("总和为"+sum);
            }
            //查找最大元素
            double max=x[0];
            for(int i=1;i<x.length;i++){
                if (max < x[i])
                    max=x[i];
            }
            System.out.println("最大值为"+max);
        }
    }
    1.1 
    2.1 
    3.1 
    4.1 
    5.1 
    总和为1.1
    总和为3.2
    总和为6.300000000000001
    总和为10.4
    总和为15.5
    最大值为5.1
    
    Process finished with exit code 0
    

    *数组作为函数的参数传递给方法

    *数组作为函数的返回值

    *多维数组:数组的数组

    String str[][]=new String[3][5]

    多维数组的动态初始化:type[][] typeName=new type[typeLength1][typeLength2]

    Arrays类

    java.util.Arrays类能方便的操纵数组,他提供的方法都是静态的,

    功能:

    具有以下功能:

    • 给数组赋值:通过 fill 方法。
    • 对数组排序:通过 sort 方法,按升序。
    • 比较数组:通过 equals 方法比较数组中元素值是否相等。
    • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
      序号方法和说明
      1 public static int binarySearch(Object[] a, Object key)
      用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。
      2 public static boolean equals(long[] a, long[] a2)
      如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
      3 public static void fill(int[] a, int val)
      将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
      4 public static void sort(Object[] a)
      对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
  • 相关阅读:
    MQTT Client软件-MQTTBox
    Eclipse
    Ant + ivy的安装
    常用消息中间件比较
    各种MQTT server功能比較
    消息中间件的对比
    RabbitMQ Performance Testing Tool 性能测试工具
    Eureka 简介
    win10 localhost 解析为::1 的解决办法
    JSP中过滤器的设置
  • 原文地址:https://www.cnblogs.com/lxx99/p/10802926.html
Copyright © 2011-2022 走看看