• javaSE基础总结篇04


    一、三木运算符

    <表达式1> ? <表达式2> : <表达式3>

      "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。

      总结:三目运算符的规则:条件成立则执行?号后面的结果,条件不成立,则执行冒号后面的结果。

    二、控制语句

      2.1顺序结构(最常见)

    特点:代码从上到下依次执行

     2.2选择结构

    If判断语句:

      If(判断){

        执行的语句

      }

      If(判断){

        执行的语句

      }else{

        执行的语句

      }

      If(判断){

        执行的语句

      }else if(判断语句){

        执行的语句

      }

    Switch语句:

    使用注意事项:

      1.每一个语句结束后需要有一个break,防止穿透。

      2.Switch语句用于判断的变量只能是int、short、char、byte、String(jdk 7之后才有)

      3.Case后面跟的数据必须是常量

    Switch语句的优点:语句清晰,运行速度快。

      缺点:if能做的switch不一定能做,但是switch能做的if一定能做

    2.3循环结构

    While循环:

    结构:

      While循环:如果判断不成立不会走,如果你要做条件判断,条件只能是boolean类型

      while(循环条件){

        循环体

      }

    死循环:

      while(true){

      }

    Do while循环:不管判断成立与否,一定会走一次

      do{

        循环体

      } while (循环条件);

     

      for(; ;){

        循环体

      }

    死循环:

      for(; ;){

        循环体

      }

    2.4小知识点:转义字符

    常见的转义字符:

     双引号

     单引号

      backspace(退格键)

     tab

     换行

     回车

    注意:windows上操作文件的时候,需要换行,是需要 一起使用

    Import java.io.*

    Io为输入输出流

    三、数组

    3.1 概念:

    用来存同一种数据类型的容器

    OC中数组的定义:NSArray       NSMutableArray

    Java中数组的定义:

    数据类型 [ ] 数组名 = new 数据类型 [ 长度 ]

      例:int [ ] arr  = new int [ 10] ;

    如元素没有被赋值,默认以0来填充

      3.2 数组的初始化方式:

    1.静态初始化:这个值给多少就是多少,不能够改变

    Int [ ] arr1 = {1,2,3,4};

    2.动态初始化:不可变数组  可变数组---->集合 ArrayList

     Int [ ]  arr2  = new int [10];

     

     在对数组进复制时,我们可以使用System类的静态方法arraycopy()。

    arraycopy()方法的签名如下:

    public static void arraycopy(Object source,int sourcePos,Object destination,int destinationPos,int length)

     

    该方法实现从源数组的指定位置开始复制指定长度的元素到目标数组的指定位置中,第一个参数就是源数组,第二个参数是要复制的源数组中的起始位置,第三个参数是目标数组,第四个参数是要复制到的目标数组的起始位置,第五个参数是要复制的元素的长度。

     

    下面这些代码用来测试使用arraycopy方法

     

    import java.util.Arrays;

    public class TestSystemArraycopy {

    public static void main(String[] args) {


    // 此方位为native方法。

    // public static native void arraycopy(

    // Object src, int srcPos, Object dest, // int destPos, int length);

    //初始化

    int[] ids = { 1, 2, 3, 4, 5 }; System.out.println(Arrays.toString(ids)); // [1, 2, 3, 4, 5]

    //测试自我复制

     

    //把从索引0开始的2个数字复制到索引为3的位置上

    System.arraycopy(ids, 0, ids, 3, 2); System.out.println(Arrays.toString(ids)); // [1, 2, 3, 1, 2]

    //测试复制到别的数组上

     

    //将数据的索引1开始的3个数据复制到目标的索引为0的位置上

    int[] ids2 = new int[6];

    System.arraycopy(ids, 1, ids2, 0, 3); System.out.println(Arrays.toString(ids2)); // [2, 3, 1, 0, 0, 0]

     

    //此功能要求

    //源的起始位置+长度不能超过末尾

    //目标起始位置+长度不能超过末尾

    //且所有的参数不能为负数

     

     

     
     
     
  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    22. Generate Parentheses (backTracking)
    21. Merge Two Sorted Lists
    20. Valid Parentheses (Stack)
    19. Remove Nth Node From End of List
    18. 4Sum (通用算法 nSum)
    17. Letter Combinations of a Phone Number (backtracking)
    LeetCode SQL: Combine Two Tables
    LeetCode SQL:Employees Earning More Than Their Managers
  • 原文地址:https://www.cnblogs.com/xushirong/p/7232626.html
Copyright © 2020-2023  润新知