java 判断异常类型_Java基础语法

▏标识符与关键字

入口方法

public class 类名{

    public static void main(String[] args){

    }

}

public 公共的        class 类        static 静态的        void 无返回值

main 主要的         String 字符串     args 参数        System 系统的

out 输出设备        in 输入设备         print 打印

| Java标识符的命名规则

  1. 标识符由字母、数字、下划线(_)、美元符号($)组成,没有长度限制

  2. 标识符的首字母必须是字母、下划线或美元符号

  3. 标识符是区分大小写的

  4. 常量通常以大写英文字母组成

  5. 类标识符通常以大写英文字母开始

  6. Java关键字、保留字不能作为用户自定义标识符使用

Java中的关键字和保留字

e3b060503cd59626b6b4bca1d6009773.png

| 数据类型

数据类型关键字所占位数默认值取值范围
布尔型boolean8falsetrue,false
字节型byte80-2^7~2^7-1
短整型short160-2^15~2^15-1
整型int320-2^31~2^31-1
长整型long640-2^63~2^63-1
单精度型float320.03.4e^-38~3.4e^38
双精度型double640.01.7e^-308~1.7e^308
字符型char16'\u0000''\u0000'~'\uFFFF'

自动类型转换优先级

(byte、short、char)--> int --> long --> float -->double

1ea8b9b0c35c7d188afb0f0f538f0d7d.png

| 运算符与表达式

算术运算符

分类运算符名称示例示例描述

+加法A+BA加B
-减法A-BA减B
*乘法A*BA乘B
/除法A/BA除B
%取余A%B取余数

+正号+A正A
-负号-A负A
++自增++A,A++自加1
--自减--A,A--自减1

关系运算符

运算符名称示例示例描述
==等于A==BA等于B吗?
!=不等于A!=BA不等于B吗?
>大于A>BA大于B吗?
<小于AA小于B吗?
>=大于等于A>=BA大于等于B吗?
<=小于等于A<=BA小于等于B吗?

逻辑运算符

运算符名称示例示例描述
逻辑非!AA为true时,结果为false
&&逻辑与A&&BA、B同为true,结果为true,否则为false
||逻辑或A||BA、B同为false,结果为false,否则为true
^逻辑异或A^BA、B同为true或false时,结果为false,否则为true

赋值运算符

运算符示例示例表达式等价于
+=A+=BA=A+B(两数相加)
-=A-=BA=A-B(两数相减)
*=A*=BA=A*B(两数相乘)
/=A/=BA=A/B(两数相除)
%=A%=BA=A%B(两数求余)
&=A&=B

A=A&B(两数按位与)

|=A|=BA=A|B(两数按位或)
^=A^=BA=A^B(两数按位异或)
<<=A<<=BA=A<
>>=A>>=BA=A>>B(A带符号右移B位)
>>>=A>>>=BA=A>>>B(A无符号右移B位)

位运算符

分类运算符名称示例运算符说明

~按位取反~A1变成0,0变成1
&按位与A&B同为1,结果为1,否则为0
|按位或A|B同为0,结果为0,否则为1
^按位异或A^B不同为1,相同为0

<<左移A<移出高位补低位
>>带符号右移A>>a移出低位,逐次右移
>>>无符号右移A>>>a符号位右移,高位补0

| 流程控制语句

// if语句语法:if(条件){}// if-else 语句语法:if(条件){}else{}// switch语句switch(表达式){  case 常量1:表达式1;break;  case 常量2:表达式2  case 常量3:表达式3  default: 表达式n;}// while语句语法:while(表达式){// 执行语句}// do while语句do{// 语句}while(表达式);

举个例子吧

---------------猜大小-----------------import java.util. Scanner;public calss Demo{  public static void main(String[] args){    Scanner in  = new Scanner(System.in);    Random ComputerRandom = new Random();    int A- = ComputerRandom .nextInt(101);    int number;    do{      System.out.println("请猜一下电脑随机生成的随机数!");      number = in.nextInt();      if(number        System.out.println("小了。。。");      }else if{      System.out.println("大了。。。");      }    }while(number!=A);    System.out.println("恭喜你,猜对了!");  }}

| 数组

栈区:存放函数的参数值,局部变量的值
优点:存取速度比堆区快
缺点:存在栈区的数据大小与生命周期必须是确定的,无灵活性
堆区:存放由new创建的对象和数组
优点:可以动态分配内存
缺点:要在运行时分配内存,运行速度慢一维数组
语法:数据类型 数组名[];
          数据类型[] 数组名;
1、边声明边赋值:int[] arr = {12,4,33};
                itn arr[] = {3,4,5};
2.动态地从键盘录入信息并赋值
Scanner in = new Scanner(System.in);
    for(int i = 0;i<30;i++){
        arr[i] = in.nextInt();
    }二维数组
创建二维数组并指定数组大小
int [][] arr = new int[5][7];

举个例子吧

----------------- 求平均值-------------------import java.util.Scanner;public calss Demo{  public static void main(String[] args){    Scanner in = new Scanner(System.in);    System.out.println("请定义学生的人数:");    int num = in.nextInt();//用来定义数组长度    int[] arr = new int[num];    int sum = 0; //记录总成绩    for(int i=0;i     System.out.println("请输入第"+(i+1)+"个学生的成绩:");     arr[i] = in.nextInt();     sum+=arr[i];    }   System.out.println(arr.length+"个学生的平均分是:"+sum/arr.length);  } }

| 注释
1、单行注释 “//”
2.多行注释     以“ /*“ 开始以“  */ ”结束
3.文档注释 以“ /** ”开始以“ */ ”结束| 类与对象
1.必须使用new关键字创建对象
2.同一个类的每个对象有不同的成员变量的存储空间
3.同一个类的每个对象共享该类的方法| this关键字作用:
1.用来区分局部变量和成员变量同名的情况
2.代表它的所在函数(方法)所属对象的引用
3、构造函数之间的调用
4、构造函数之间的调用,this只能在第一行| 构造方法
1、使用new+构造方法创建新的对象
2、构造方法是定义在Java类中的一个用来初始化对象的函数
3、构造函数与类同名且没有返回值| 构造代码块
作用:给所有的对象进行初始化

举个例子吧

public calss Demo{  public static void main(String[] args){   Person A = new Person();   } } class Person{   String name;   Person(){   System.out.println("我是无参构造方法");   }   person(String name){     this.name=name;     System.out.println("我是有参构造方法");   }   {     System.out.println("我是构造代码块");   } }

| static关键字作用:是一个修饰符,用于修饰成员(成员变量、成员方法)
1、被static修饰后只分配一个固定的空间,被所有对象共享
2.可以使用类名.静态成员进行访问特点:
1、随着类的加载而加载
2、优先于对象的存在
3、被所有的对象所共享
4、可以直接被类名所调用注意事项:
1.静态的方法只能访问静态的成员变量
2、非静态的方法既能访问静态也能访问非静态的成员
3、静态的方法中不可以定义(this、super)关键字

| 类
封装:生成set和get方法
继承(extends):子类拥有父类的成员,除被private修饰的外
多态:父类引用指向子类对象
多态的前提:
1、必须有继承或实现关系
2、必须有重写
接口(interface):是一个特殊的抽象类
注意:
1、接口不可以创建对象,需要被子类实现
2、接口中只能出现public访问修饰符

抽象类(abstract):

  1. 抽象方法一定要在抽象类中

  2. 抽象类和抽象方法必须要被abstract关键字修饰

  3. abstract只能修饰类和方法

  4. 抽象类不能被创建对象

  5. 抽象类中可以定义非抽象方法

  6. 子类如果只重写一部分的抽象方法,那么该子类还是一个抽象类


包(package):
作用:
1、对类进行分类管理
2、给类提供了多层命名空间

成员变量访问控制修饰符

类型privateprotectedpublicdefault
所属类可访问可访问可访问可访问
同一个包中的其它类不可访问可访问可访问可访问
同一个包中的子类不可访问可访问可访问可访问
不同包中的子类不可访问可访问可访问不可访问
不同包中的非子类不可访问不可访问可访问不可访问

357cb980c14f9b82d08c47965990df4c.gif

94668bbb4d4bfb2690b3a4b20fc73f4d.png

您的在看是我们进步的动力!

↘↘↘

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页