Day02_Java基础语法---狂神笔记博客

1.标识符

花了三天把狂神的基础看完,好摆烂!!!

1.1关键字

在这里插入图片描述

1.2 Java的所有组成都需要名字

类名、变量名、方法名都被称为标识符

public class hello_world {   //hello_world 为类名
    public static void main(String[] args) { //main 为方法名
        string s="sdasd";//s 为变量名
        System.out.println("Hello World");
    }
}

1.3 java可以对中文命名

string 王者荣耀="青铜";

2.数据类型

2.1两种基本java数据类型

java是一种强类型语言,所有变量必须先定义才能使用,更加安全。
在这里插入图片描述

        //八大基本类型
        //整数
        int n1=1;
        byte n2 =20;
        short n3=30;
        long n4=300L;//long型要这样表示加l

        //小数:浮点数
        float n5=50.1F;//float要在后面加F
        double n6=301415926;

        //字符
        char c='A';
        //string 字符串不是关键字,是一个类
        String name="sdsds";
        System.out.println(name);

        //布尔值:是否
        boolean flag=true;
        //boolean flag=false;

2.2 字节与位

在这里插入图片描述

3 java的相应拓展

3.1 整数拓展–二 八 十六进制表示

        //整数拓展:进制转换  二进制0b     十进制     八进制0   十六进制0x
        int i1=10;
        int i2=010;//001 000  八进制
        int i3=0x10;//0001 0000 十六进制

3.2 浮点数拓展

//浮点数的拓展
        //flaot与double 表现字长是有限的,离散的。存在舍入误差 ,结果知识大约数。**进行比较不用浮点数**
        //少去用浮点数比较
        //BigDecmal数学工具类。

3.3 字符与字符串拓展

//字符的拓展
        char c1='a';
        char c2='是';
        System.out.println(c1);
        System.out.println(c2);
        //将其转换成数字,强制转换
        System.out.println((int)c1);//输出为:97
        System.out.println((int)c2);//输出为:26159

        //所有的字符本质上还是数字

        //编码 Unicode  占2个字节  0-65536
        //Unicode 有一个编码表,表中有相应的数字为字符
        char u3 ='\u0061';//也可以用转义字符表示
        System.out.println(u3);//输出为a

3.4 常用转移字符

        //转义字符
        \t 制表符,相当于tab
         \n 换行

3.5 布尔值拓展

        //布尔值扩展
        boolean flag1=true;
        if (falg1==true){}
        if (falg1){}//与上面一行一个意思
        //Less is More 代码精简易读

4.类型转换

在这里插入图片描述

//强制转换 由高-->低
        int i=128;
        byte b=(byte)i;//byte类型最高是-128-127。会存在内存溢出

//自动转换 由低-->高
        int a1=124;
        double a2=a1;//由低-->高
        System.out.println(a2);//输出为124.0
        char cc='a';
        int dd=cc+1;//由低-->高
        System.out.println(dd);//输出为98

        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.高容量到低容量属于强制转换
        4.转换的时候存在内存溢出,或者精度问题。
         */

5.操作大数值分割 与 数值转换存在的其它问题

        //操作比较大时注意 溢出问题
        //JDK7新特性,数字之间可以用下滑线分割,下划线不会输出
        int money=1_0000_0000;
        System.out.println(money);//输出:100000000

		//数值转换存在的其它问题
        int year=20;
        int total=year*money;//溢出了
        long total2 =year*money;//也会溢出。year*money 先计算完之后,才转换为long类型。转换之前已经存在问题

        long total3=money*((long)year);//正确方法:把其中一个转化为long,或者连个都转换为long

6.变量与常量

6.1 变量

在这里插入图片描述

//变量作用域:类变量、实例变量、局部变量
 class Demo02 {
    //类变量:加static;
    static double salay=2500;
    //属性:变量


    //实例变量:从属于对面,也就是从属于类。实例变量在类的里面方法的外面。
    //实例变量如果不自行初始化,默认为0。布尔值默认为false。除了基本类型其余都是null。
    String name;
    int age;


    //main方法
    public static void main(String[] args) {
        //类变量的引用
        System.out.println(salay);

        //实例变量的调用
        //变量类型 变量名字 = new Demo02();
        Demo02 demo02 = new Demo02();//alt + 回车+回车
        System.out.println(demo02.age);
        System.out.println(demo02.name);

        //局部变量在方法里,使用之前必须生命与初始化
        int i=10;//i属于局部变量
        System.out.println(i);
    }
    //其他方法
    public void add(){
    }
}

6.2常量

在这里插入图片描述

6.3命名规则

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5uRMOaO-1681128775964)(D:\桌面\Markdown\变量的命名规范.png)]

7.运算符知识

7.1 运算符优先级

优先级描述运算符
1括号()
2正负号+,-
3一元运算符++,–,!
4乘除*,/,%
5加减+,-
6移位运算>>,>>>,<<
7比较大小<,>,>=,<=
8比较是否相等==,!=
9按位与运算&
10按位异或运算^
11按位或运算|
12逻辑与运算&&
13逻辑或运算||
14三元运算符?:
15赋值运算符=

7.2 packet-operater(运算)小知识

7.2.1 Demo01-ctrl+d复制当前行到下一行

7.2.2 Demo02- 如果有long double就是longdouble类型。其它的都是int 类型

package operator;
public class Demo02 {
    public static void main(String[] args) {
        long a = 1313131313L;
        int b = 123;
        short c = 10;
        byte d = 8;
        System.out.println(a+b+c+d);//输出为long类型
        System.out.println(b+c+d);//输出为Int类型
        System.out.println(c+d);//输出为Int类型
        //结论:如果有long 、double就是long、double类型。其它的都是int 类型
    }
}

7.2.3 Demo3-*关系运算符返回值:正确或者错误。true false

7.2.4 Demo4- 自增++、自减-- 与幂运算符

package operator;
//自增++ 自减--
public class Demo04 {
    public static void main(String[] args) {
        int a=5;
        int b=a++;
        int c=++a;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算2^3。可以使用Math数学类.很多运算可以使用工具类
        double p = Math.pow(2,3);
        System.out.println(p);//输出为8
    }
}

7.2.5 Demo05-逻辑运算符

package operator;
//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //逻辑运算符
        boolean a=true;
        boolean b=false;
        System.out.println(" a && b:"+(a&&b));//输出为    a && b:false
        System.out.println(" a || b:"+(a||b));//输出为    a || b:true
        System.out.println(" !(a && b):"+ !(a||b));//输出为    !(a && b):false
    }
}

7.2.6 Demo06-位运算符

package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*位运算的效率高
        A=0011 1100
        B=0000 1101
        --------------------------
        A&B=0000 1100
        A|B=0011 1101
        A^B=0011 1101 异或
        ~B= 1111 0010 非B

        <<左移  >>右移
         */
        System.out.println(2<<3);// 0000 0010   2左移三位。左移一位乘以2
        System.out.println(16>>3);// 0001 0000   16右移三位。右移一位除以2

    }
}

7.2.7 Demo07-字符串连接与三元运算符

package operator;
public class Demo07 {
    public static void main(String[] args) {
        //字符串连接符 +
        int a=10;
        int b=20;
        System.out.println(a+b);
        System.out.println(""+a+b);//只要在加号前出现string字符串类型,都会转换成string连接
        System.out.println(a+b+"");//前面先运算,然后转换成string

        //x?y y:z三元运算符
        int score =80;
        String t=score<60 ? "不及格":"及格";
        System.out.println(t);
    }
}

8.包机制

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间

  • 包机制的本职就是文件夹

  • 一般用公司的域名倒置作为包名 www.baidu.com 倒置为:com.baidu.www

  • 导入包要用import

    //包机制
    //包机制的本职就是文件夹
    package com.lu.operator;//packet必须在最上面
    import com.lu.Base.Demo01;//导入这个包的一个类
    import com.lu.*;//导入这个包下所有的类
    

9.JavaDoc

在这里插入图片描述

javaDoc我这个没有认真学,等用到在补充

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值