华清远见-重庆中心-JAVA基础知识点梳理

目录

第一个java程序

运行过程

运行结果

java注释

java变量

什么是变量

变量的声明

变量的命名规则

java中的保留字

 经典案例   

 基本数据类型

  8种基本数据类型

 类型转换

 自动类型转换

强制类型转换

运算符与表达式

算数运算

注意点

关系运算

注意点

逻辑运算

"短路逻辑"的原则

三目运算符(条件运算符)

分支语句

程序结构

分支结构——if---else语句

注意:if后的语句块如果不加{},只有第一个语句属于if。

分支结构——switch---case语句

循环语句

 循环结构——for循环

for循环流程图

循环结构——while循环

循环结构——do---while循环

案例:

whlie与do---while对比

死循环

break使用规则

continue使用规则

数组

 数组的声明

 数组声明的要点

数组初始化

数组访问

数组的排序

冒泡排序

数组扩容


第一个java程序

public class HelloWord {
    //主方法:每个程序的入口函数
    public static void main(String[] args) {
        System.out.println("Hello Word");
    }
}

运行过程

通过编译生成.class字节码文件,在虚拟机上解释该字节码文件并运行

运行结果

java注释

单行注释://

多行注释:/*.....*/

文档注释:/**...*/

java变量

什么是变量

变量是指代在内存中的一块存储空间,用于存储程序运算过程中需要用到的数据。
例:int a = 1;
       int b = 2;
       int c = a+b;
      变量a,b,c指代内存中的三块用于存储整数的存储空间,分别存储两个整数,以及这两个整数的和。

变量的声明

        变量声明的语法规则:变量类型  变量名字;

未经声明的变量不能使用

        java语言语法规定,变量在使用前,必须声明,否则会出现“编译错误”

public static void main(String[] args){
		a = 1;              //编译错误,变量没有声明
		int age = 30;
        aeg = 20;           //编译错误
        System.out.println(aeg);
	}

变量的命名规则

        变量的命名需要符合Java标识符语法要求

            -可以有字母,数字,”_””$”符组成

            -首字符不能以数字开头

            -Java是大小写敏感的语言,命名变量时需要注意

            -不能使用Java保留字(Java语言规定好的,有特殊含义的字符:public static void…

     tips:JAVA严格区分大小写

java中的保留字

  

 经典案例   

     实现两个整形变量的数据交换,例如:int a = 100;int b = 200b200赋值给a,同时将a100赋值给b最终实现结果 a = 200b = 100

public static void main(String[] args) {
       int a = 1;
       int b = 2;
       a = a + b;
       b = a - b;
       a = a - b;
       System.out.println(a);
       System.out.println(b);
    }

 基本数据类型

  8种基本数据类型

 类型转换

 自动类型转换

public static void main(String[] args) {
        char a = 3;
        int b = a;
        System.out.println(b);
    }

这里char类型是小类型,int是大类型,char类型数据可以直接保存在int类型数据中

强制类型转换

public static void main(String[] args) {
        double a = 1.13;
        int b = (int)a;   //强制类型转换
        System.out.println(b);
    }

这里double是大类型,int是小类型,所以double类型的数据不能直接转为int类型,需要在前面加上(int)代表强制转换。

运算符与表达式

算数运算

符号名称作用
+

1.如果两个操作数都是数值型的数据,+用于计算。

2.如果两个操作数有一端是字符串,+用于拼接字符串。

-用于两个数值型数据
*用于两个数值型数据
/用于两个数值型数据(两个整数相除,结果取整)
%取余用于数值型数据
++自增用于数值型数据
--自减用于数值型数据

注意点

++ (自增), -- (自减)运算是在自身值的基础上,增加或者减少 1。
++ -- 写在变量的前面,运算的时候,需要先增加或者减少 1 ,再参与运算。
++ -- 写在变量的后面,运算的时候,需要先参与运算,再增加或者减少 1

关系运算

符号名称作用
>大于判断左边的值是否大于右边
<小于判断左边的值是否小于右边
==等于判断两个值是否相等
>=大于等于判断左边的值是否大于等于右边
<=小于等于判断左边的值是否小于等于右边
!=不等于判断左边的值不等于右边的值

注意点

关系运算的结果为 boolean 类型。

逻辑运算

&& “与”运算    
|| “或”运算
!“非”运算

      逻辑运算的结果为boolean类型。

AB!AA&&BA||bA&BA|B
truetruefalsetruetruetruetrue
truefalsefalsefalsetruefalsetrue
falsetruetruefalsetruefalsetrue
falsefalsetruefalsefalsefalsefalse

"短路逻辑"的原则

对于 && 运算,如果有遇到 false, 后续的运算将不在执行。
               eg int a = 3,b = 5;
                      boolean   b1 = a > b && a++>0;// 后面的 a++>0 不会判断。
对于 || 运算,如果有遇到 true, 后面的运算将不在执行。
             eg : int a = 3,b = 5;
                     boolean   b1 = a < b || a++>0;// 后面的 a++>0 不会判断。

三目运算符(条件运算符)

目运算符格式 :

X ? Y : Z;  --àboolean表达式?表达式1 : 表达式2

X boolean 表达式,如果 X true, 在运算结果为 Y 的值,

         如果Xfalse,则运算结果为Z的值。       

int a = 5, b = 6;
int max = a>b ? a : b;//找出a,b中的最大值。

因为a<b,a>b值为false,所以最大值是b。

分支语句

程序结构

任何复杂的程序都是由“顺序结构”,“分支结构”,“循环结构”组成的。

                               

分支结构——if---else语句

   语句 0;
    if( 布尔表达式 ){
        语句块 1 ;
    }else{
        语句块 2 ;
    }
    语句 3;

注意:if后的语句块如果不加{},只有第一个语句属于if。

分支结构——switch---case语句

switch-case 可以根据一个整数表达式,从不同的程序入口开始执行。
     switch( 整数 表达式 --N){
           case 1:  语句 系列 1......; break;
          case 2:  语句系列 2......; break;
            ......
            case n:  语句系列 n......; break ;

      default: 语句系列其它......;break;

    }

 

 tips:如果case语句没有break,则会穿透case语句执行后面剩下的语句。

循环语句

循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似的语句被有规律地执行
循环三要素
1. 循环变量初始化
2. 循环条件(以循环变量为判断条件)
3. 循环变量的改变(向着循环结束变)

 循环结构——for循环

for语法规则:

  for(表达式1;表达式2;表达式3){  

    // 语句序列

  }

表达式 1 :初始化表达式,负责完成循环条件的初始化
表达式 2 :循环条件表达式,值为 boolean 的表达式,指定循环条件
表达式 3 :循环后的操作表达式,负责修改变量,改变循环条件
例:
 public static void main(String[] args) {
        for (int i = 0 ; i<100 ; i++){
            System.out.println("xxx");    //循环输出100次“xxx”
        }
    }

for循环流程图

循环结构——while循环

while 语法规则:

             语句0 ;

    while(循环条件){

    语句1 ;//循环体

    }           

    语句2 ;

循环结构——do---while循环

d o…while 语法规则:

      语句0 ;

  do{

语句1;//循环体

           语句2;

    }while (循环条件);          

 语句3 ;

案例:

 public static void main(String[] args) {
          Scanner sc = new Scanner(System.in);
        int i = 1;
        int password = 123456;
        int pwd;
        do {
            if (i == 6) {
                System.out.println("输入次数用完了,请2半个小时后尝试");
                return;
            }
                System.out.println("请输入密码");
                pwd = sc.nextInt();
                i++;
        }while (pwd != password);
        System.out.println("解锁成功");
    }

tips:do---while循环,循环体内的代码块至少执行一次。

whlie与do---while对比

                 

注意:

  1. while循环先判断,再执行。
  2. do---while循环先执行一次,再判断。
  3. while循环比do---while循环用的多。

死循环

循环没有指明结束条件的情况会造成死循环(一直执行循环)

break使用规则

break 可用于循环语句或 switch 语句。
break 用于循环,可使程序终止循环从而执行循环后面的语句。常常与条件语句一起使用。

continue使用规则

continue 用于循环语句中,表示跳过循环体剩余语句,继续执行下一次循环。
continue 只能在循环语句中使用。

数组

数组是一种最基本的数据结构

数组:相同数据类型的元素组成的集合

元素按线性顺序排列。所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素 除最后一个元素外,每一个元素都有唯一的后继元素(“一个跟一个”,可以通过元素所在位置的顺序号(下标)做标识来访问每一个元素(下标从0开始,最大到元素的个数-1

 数组的声明

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

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

 数组声明的要点

确切的数据类型
整体的数组名字
不能缺少的“ []
执行 new 语句才使得数组分配到了指定大小的空间
int [] arr int arr [] 两种写法均可
申明数组时不规定数组长度, new 关键字分配空间时需要指定分配的空间大小

数组初始化

3种方法:

    int[ ] arr = new int[ 3 ];

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

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

1. 定义的时候初始化

        int[] arr = new int[4];

        int[] arr = {1,4,7};

        int[] arr = new int[]{2,4,6,8}

定义之后再初始化

       int[] arr;

       arr = new int[5];

       arr = new int[]{1,2,3}//正确

       arr= {1,4,6};//错误

数组声明的默认值

       数组new之后,每个元素都有默认值。int,long默认值为0double默认值为0.0boolean默认值为false,char默认值为空字符。

数组访问

通过下标访问数组

arr[0];

arr[1];

arr[3];

数组的排序

冒泡排序

public static void main(String[] args) {
        int[] arr = new int[]{10,15,8,40,25,5};
        int temp;

        //从小到大排序
        for (int j=0;j<arr.length;j++) {
            for (int i = 0; i < arr.length - 1 - j; i++) {
                if (arr[i] > arr[i + 1]) {
                    temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        System.out.println();
        for (int i : arr) {
            System.out.print(i+"\t");
        }

        //从大到小排序
        for (int j=0;j<arr.length;j++) {
            for (int i = 0; i < arr.length - 1 ; i++) {
                if (arr[i] < arr[i + 1]) {
                    temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        System.out.println();
        for (int i : arr) {
            System.out.print(i+"\t");
        }
    }

结果

数组扩容

数组的长度在创建后不可以改变的。所谓“扩展”是指创建一个更大新数组,并将原有数组的内容复制到其中。
Jdk 提供了一个方法, Arrays.copyOf 可以实现数组 扩容
Eg : String[] names ={“ tom”,”cat”,”jerry ”};
      names = Arrays.copyOf (      names,    names.length+1);
     names[names.length-1]=“rice”;
     System.out.println ( Arrays.toString ( arr ) );//  import java.util.Arrays ;

例:

public static void main(String[] args) {
        String[] strs = new String[4];
        for (int i=0;i<strs.length;i++){
            strs[i] = "Tom"+i;
        }
        String str = Arrays.toString(strs);
        System.out.println("str:" + str);

        //数组扩容
        strs = Arrays.copyOf(strs, strs.length + 1);
        strs[4] = "tom";
        System.out.println(Arrays.toString(strs));

 

true

true

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值