java基础第一部分

java基础

关键字

image-20200930160552503
abstract表明类或者成员方法具有抽象属性
assert用来进行程序调试
boolean基本数据类型之一,布尔类型
break提前跳出一个块
byte基本数据类型之一,字节类型
case用在switch语句之中,表示其中的一个分支
catch用在异常处理中,用来捕捉异常
char基本数据类型之一,字符类型
class
const保留关键字,没有具体含义
关键字含义
continue回到一个块的开始处
default默认,例如,用在switch语句中,表明一个默认的分支
do用在do-while循环结构中
double基本数据类型之一,双精度浮点数类型
else用在条件语句中,表明当条件不成立时的分支
enum枚举
extends表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float基本数据类型之一,单精度浮点数类型
for一种循环结构的引导词
goto保留关键字,没有具体含义
if条件语句的引导词
implements表明一个类实现了给定的接口
import表明要访问指定的类或包
instanceof用来测试一个对象是否是指定类型的实例对象
int基本数据类型之一,整数类型
interface接口
long基本数据类型之一,长整数类型
native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new用来创建新实例对象
package
private一种访问控制方式:私用模式
protected一种访问控制方式:保护模式
public一种访问控制方式:共用模式
return从成员方法中返回数据
short基本数据类型之一,短整数类型
static表明具有静态属性
strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
super表明当前对象的父类型的引用或者父类型的构造方法
switch分支语句结构的引导词
synchronized表明一段代码需要同步执行
this指向当前实例对象的引用
throw抛出一个异常
throws声明在当前定义的成员方法中所有需要抛出的异常
transient声明不用序列化的成员域
try尝试一个可能抛出异常的程序块
void声明当前成员方法没有返回值
volatile表明两个或者多个变量必须同步地发生变化
while用在循环结构中

命名规则

所有命名规则必须遵循以下规则:

​ 1.名称只能由字母、数字、下划线、$符号组成

​ 2.不能以数字开头

​ 3.名称不能使用JAVA中的关键字。

​ 4.坚决不允许出现中文及拼音命名。

java中的类、方法、属性的命名规范

https://blog.csdn.net/pan_ye/article/details/79461958

​ 1.见名知意 :比如我要定义一个学生类,应该是class Student{},而不是class S{}

​ 2.对于类或者接口 : 一个单词的话首字母必须大写,多个单词的话每个单词的首字母必须大写

​ 比如:Student,常见的HelloWorld

​ 3.对于方法或者变量:一个单词的时候全部小写,多个单词的话除第一个单词首字母小写,其他单词首字母都大写

​ 比如:mian方法,setStudentAge()等

​ 4.对于常量 : 一个单词的常量需要所有字母大写,多个单词的话所有字母都需要大写,单词之间用_隔开

​ 比如:PI , STUDENT_MAX_AGE;

​ 5.对于包的命名 所有单词都小写,如cn

public class Demo01 {
    //正确命名
    String Aname = "ceshi";
    String aname = "ceshi";
    String $name = "ceshi";
    String _name = "ceshi";

    //大小写敏感
    String Man = "ceshi";
    String man = "ceshi";

    //错误命名
    //String 4name = "";
    //String %name = "";
    //String class = "";
}

数据类型

image-20200930161530023

image-20200930163503561

测试

public class Demo02 {
    //八大基本数据类型
    int num1 = 10;
    byte num2 = 127;
    short num3 = 50;
    long num4 = 60L; //后面需要加L

    //小数: 浮点数
    float num5 = 20.1F;//后面需要加F
    double num6 = 12.2645455;

    //字符
    char a = 'A';
    //错误,只能写一个汉字
    //char b = "测试";

    //布尔值
    boolean flag = true;

}
public class Demo03 {
    public static void main(String[] args) {
        //整数拓展  进制   二进制ob   十进制    八进制0   十六进制0x

        int i = 10;
        int m = 010;  //0
        int n = 0x10;   //十六进制0x  0-9 A-F

        System.out.println(i);
        System.out.println(m);
        System.out.println(n);

        System.out.println("=============================");

        float f = 0.1f;
        double f1 = 1.0/10;


        //false,float是有限的,接近但不等于,少用浮点数比较,应该使用BigDecimal数学工具类
        System.out.println(f==f1);

        float m1  = 564564564114f;
        double m2 = m1+1;
        System.out.println(m1==m2); //true

        System.out.println("=============================");

        char a= 'a';
        char b= '我';

        System.out.println(a);
        System.out.println((int)a);
        System.out.println(b);
        System.out.println((int)b);

        //所有字符本质还是数字
        // 编码 unicode编码,一个字符对应一个数字,(97=a,65=A)  0-65536
        // U0000   UFFFF
        char c = '\u0061';
        System.out.println(c);  //a
        System.out.println("=============================");
        //转义字符
        // \t制表符
        // \n换行
        System.out.println("Hello\nWorld");



    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VUmyAI9I-1601543836604)(https://i.loli.net/2020/10/01/fROCSTk4M2xyVPl.png)]

类型转换

1. 强制转换形式: (类型)变量名

2. 从高->低,需要强制转换 
3. 从低->高,自动转换
4. 不能对boolean值进行转换
5. 两个不相干的类型不能进行转换
6. 转换的时候可能存在内存泄漏或精度问题

image-20200930200137861

import java.sql.SQLOutput;

/**
 * @author hcc
 * @date 2020-09-30 20:04
 * @description
 */
public class Demo04 {

    public static void main(String[] args) {

        int i = 128;
        int m = 125;
        //强制转换 (类型)变量名 高->低
        byte j = (byte)i;  //[-128,127] ,内存溢出
        //自动转换 (类型)变量名 低->高
        double n = m;


        System.out.println(i);
        System.out.println(j);
        System.out.println(n);
        System.out.println((int)23.6);
        System.out.println((int)25.89f);

        /*
        注意点:
        1.不能对boolean值进行转换
        2.两个不相干的类型不能进行转换
        3.从高到低时,需要进行强制转换
        4.转换的时候可能存在内存泄漏或精度问题
         */

        System.out.println("===============================");

        //操作比较大数的时候,注意溢出问题
        //jdk1.7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int year = 20;
        int total = money*year; //-1474836480,溢出
        long total2 = money*year; //默认int,转换之前已经存在问题

        System.out.println(total);
        System.out.println(total2);

        //解决办法
        long total3 = money*(long)year; //先转换一个数为long
        System.out.println(total3);
    }
}

image-20200930203733875

变量

image-20200930231847669

public class Demo05 {

    //int a=1,b=2,c=3; //可读性差,不建议使用
    String name = "test";
    char v = 'V';
    Double pi = 3.14;


}

变量作用域

  1. 类变量

  2. 实例变量

  3. 局部变量

    public class Demo06 {
    
        //类变量  static
        static double f = 113;
        //常量,final和statics是修饰符,不区分前后
        final static Double PI = 3.14;
    
        //实例变量:从属于对象,如果不初始化,会有默认值
        //数类型:0  0.0
        //布尔值:默认false
        //除了基本类型外,其余默认值都是false
        String name;
        int i;
    
        public static void main(String[] args) {
    
            //局部变量,必须声明和初始化值,只在最近的大括号内有效
            int i = 10 ;
            System.out.println(i);
    
            Demo06 demo06 = new Demo06();
            System.out.println(demo06.name);
            System.out.println(demo06.i);
            System.out.println(f);
            System.out.println(PI);
    
        }
    
     
    
    }
    

image-20201001000114165

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值