• 关键字,标识符,变量,运算符,程序流程控制,数组


    关键字

    所有字母都为小写

    保留字

    标识符

    java中的名称命名规范

    包名:多单词组成时所有字母都小写:xxxyyyzzz

    类名,接口名:多单词组成时,所有的首字母大写:XxxYyyZzz

    变量名,方法名:多单词组成时,前一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

    常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ

    变量

    先声明后使用

    数据类型  变量名 =初始化值

    变量的分类

    1. 基本数据类型
    2. 引用数据类型

    变量之间的运算

    •        自动类型转换 :容量小的自动转换为容量大的
    •        强制类型转换:容量大的转换为容量小的,要使用强制类型转换符()

    运算符

    算术运算符  :+ - * /    ++a 先自增再运算 a++ 先运算再自增

    赋值运算符:+=   -=   *=    /=   %=

    比较运算符:==    !=   <     >    <=     >=    instanceof(检查是否是类的对象y)

    逻辑运算符:& 逻辑与      && 短路与       |   逻辑或      ||  短路或   !      逻辑非     ^ 逻辑异或

    位运算符: <<   左移  >>    右移   >>>    无符号右移   ^    异或运算    ~   反码

    三元运算符:条件表达式 ?   表达式1:  表达式2    表达式1,2得保持数据类型一致

    流程控制

    分支结构

    1. if-else      
    2. switch-case

               switch(变量){

             case 值1:

             break; 

            case 值2:

            break;

             case 值3: 

            break;

            degault:

            break;

    break:跳出当前循环,变量可以取:char byte short  int 枚举 String(jdk1.7)

    循环结构

      1.while循环

      while(条件){
    
              //循环语句
    
        }

       条件:可以是beelan类型的值,变量和表达式,还可以是一个结果为boolean的方法

    2.do-while循环

      do{
    
         //循环操作语句
    
     }while(循环条件);
    

    3.for循环

    for(表达式1;表达式2;表达式3){
    
          循环操作;
    
    } 
    表达式1:参数初始化
    表达式1:条件判断
    表达式1:更新循环变量

     三个表达式都可以省掉    表达式2省掉会出现死循环 ,   表达式3会导致条件永远成立形成死循环

     数组

    作用:  存储相同数据类型的一组数据

          对同类型数据进行集中管理,比如存储和遍历

    数组的声明

      数组类型[ ]  数组名;

    声明并创建数组

      数据类型 [ ]  数组名=new 数据类型[大小]

    初始化数组

    方法1:(静态初始化)边声明边赋值

    int[ ] score={66,67,68}

    int[ ] score=new int[ ]{66,67,68}

    方法2:(动态初始化)

    常用数组查找法

    线程查找法

    二分查找法   取下标中间值

    常用数组排序算法

    冒泡排序:   比较相邻的元素

    选择排序法

    插入排序法

     

     Arrays类用法

    package com.tanlei.newer.shuzu;
    
    import java.util.Arrays;
    
    /**
     * @author tanlei
     *
     */
    public class ArraysUtilDemo {
       public static void main(String[] args) {
    	int [] arrays= {1,3,4,5,6,2};
    	//数组拷贝
    	int [] arrays2=Arrays.copyOf(arrays, 10);
    	for (int i = 0; i < arrays2.length; i++) {
    		System.out.println(arrays2[i]);
    	}
    	System.out.println("*****************************");
    	//拷贝指定数组中的指定范围内的数据
    	int[] arrays3= Arrays.copyOfRange(arrays, 4, 5);
    	for (int i = 0; i < arrays3.length; i++) {
    		System.out.print(arrays3[i]);
    	}
    	System.out.println("*****************************");
    	//比较两个数组是否相等
    	int[] arrays4= {1,2,4,3,5};
    	boolean flag=Arrays.equals(arrays, arrays4);
    	System.out.println(flag);
    	//数组填充
    	int[] arrays5= new int[10] ;
    	Arrays.fill(arrays5,2,5,6);
    	for (int i = 0; i < arrays5.length; i++) {
    		System.out.println(arrays5[i]);
    	}
    	//对数组进行排序
    	Arrays.sort(arrays5,2,6);
    	for (int i = 0; i < arrays5.length; i++) {
    		System.out.print(arrays5[i]);
    	}
    	//二分法查找(下标)
    	int index=Arrays.binarySearch(arrays5, 3);
    	System.out.println(index);
    	System.out.println("*****************************");
    	//使用System这个类的方法来拷贝数组从o开始拷5个 从数组第三个下标起
    	int[]arraydeo5=new int[10];
    	System.arraycopy(arrays2, 0, arraydeo5, 3, 5);
    	for (int i = 0; i < arraydeo5.length; i++) {
    		System.out.println(arraydeo5[i]);
    	}
    }
    }  

    二维数组

    声明

    int[ ] [ ]  arr=new int[10 ][ ]

    int[ ] [ ]  arr=new int[10 ][20 ]

    一维数组决定大小

    初始化

    int[ ] [ ]  arr={{1,2},{2,3}};

    动态初始化

    String [ ] [ ] arr=new Strng[3][ ];

    arr[0]=new String[2]

    arr[1]=new String[3]

    arr[2]=new String[4]

    杨辉三角形

    package com.tanlei.newer.shuzu;
    
    public class YanHui {
       public static void main(String[] args) {
    	 //声明一个8行8列的数组
    	 int row=8;//行数
    	 int [] [] p=new int[row][row];
    	 for(int i=0;i<row;i++) {
    		 for (int j = 0; j <=i; j++) {
    			//判断第一列和对角线列的元素值为1
    			 if(j==0||j==i) {
    				 p[i][j]=1;
    			 }else {
    				//其他元素的值取正上方和左上方的和
    				 p[i][j]=p[i-1][j]+p[i-1][j-1];
    			}
    		}
    	 }
    	 //打印输出
    	 for (int i = 0; i < row; i++) {
    		for (int j = 0; j <row; j++) {
    			System.out.println(p[i][j]+" ");
    		}
    		System.out.println();
    	}
    }
    }
    

      

  • 相关阅读:
    最短路-dij
    链式前向星
    B树、B+树
    C++类
    差分约束
    数位DP
    Markdown编辑器:表格
    git使用笔记
    leetcode 162. 寻找峰值(二分)
    python matplotlib包的安装注意事项:报错——No such file or dir : tmp/matplotlib-xxxxxx
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9786354.html
Copyright © 2020-2023  润新知