JavaSE(基础)

Java基础

1.注释

注释是标注解释作用,书写注释是一个非常好的习惯。

Java中的注释有三种:

单行注释(//),多行注释(/*+Ent, ctrl+shift+/),文档注释(/**+Ent)。有趣的代码注释

//这是单行注释
 /*这是
   多行
   注释*/
/**文档注释,有功能
         * @Description Hello World
         * @Author LMC
         */

有趣的代码注释:

//                            _ooOoo_    
//                           o8888888o    
//                           88" . "88    
//                           (| -_- |)    
//                            O\ = /O    
//                        ____/`---'\____    
//                      .   ' \\| |// `.    
//                       / \\||| : |||// \    
//                     / _||||| -:- |||||- \    
//                       | | \\\ - /// | |    
//                     | \_| ''\---/'' | |    
//                      \ .-\__ `-` ___/-. /    
//                   ___`. .' /--.--\ `. . __    
//                ."" '< `.___\_<|>_/___.' >'"".    
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |    
//                 \ \ `-. \_ __\ /__ _/ .-` / /    
//         ======`-.____`-.___\_____/___.-`____.-'======    
//                            `=---='    
//    
//         .............................................    
//                  佛祖保佑             永无BUG

标识符

Java所有组成的部分都需要名字,类名,变量名,方法名都被称为标识符。

所有标识符都以字母(A-z)、美元符号($)、下划线(_)开始。

首字符之后可以是字母(A-z)、美元符号($)、下划线(_)、数字的任何组合。

不能使用关键字作为变量名或方法名,标识符是大小写敏感的。

2.数据类型

强类型语言:要求变量的使用要符合规定,所有的变量都必须先定义后才能使用。

若类型语言:

Java的数据类型分为两大类:基本类型、引用类型。

基本类型:数值类型(7种)、Boolean类型(1种 True/False)

数值类型:整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)。注意:String是字符串。

变量是什么:就是可以变化的量。

引用类型:类、接口、数组

public class Demo1 {
    public static void main(String[] args) {
        //八大基本数据类型
        //整数
        byte num1=10;//对应一个类Byte(Ctrl+鼠标左查看源码)
        short num2=20;
        int num3=30;//最常用,对应一个类Integer
        long num4=40l;//long类型要在数字后面加l
        //小数:浮点数
        float num5=50.1F;//float类型要在数字前面加F
        double num6=1.23456879;
        //字符
        char name1='a';//只允许写一个
        //字符串,String不是关键字,类
        //String name2="abc刘";
        //布尔值:是非
        boolean flag1=true;
        boolean flag2=false;
    }
}

什么是字节

位(bit):是计算机内部数据存储的最小单位,11001100是一个8为二进制数。

字节(byte):是计算机中数据处理的基本单位,习惯上用B来表示。

1byte=8bit

字符:是指计算机中使用的字母、数字、字、和符号。

电脑的32位和64位

3.类型转换

由于Java是强类型语言,所以要进行有些运算的时候需要用到类型转换。运算中,不同类型的数据先转换为同一类型,然后进行运算,有强制类型转换、自动类型转换。

低------------------------------------------------------------------------->高

byte,short,char–> int–> long–> float–> double

public class Demo4 {
    public static void main(String[] args) {
        int i=128;
        byte b= (byte) i;//强制类型转换(高-->低),内存溢出
        //强制转换 (类型)变量名 高---低
        //自动转换 低-->高
        System.out.println(i);
        System.out.println(b);
        /*
        注意点
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.在把高容量转换到低容量的时候,强制转换
        4.转换的时候可能存在内存溢出或者精度问题
         */
        System.out.println((int)23.7);
        char c='a';
        int d=c+1;
        System.out.println(d);
        System.out.println((char)d);
        //操作数较大的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int total=money*years;//-1474836480,计算的时候溢出了
        System.out.println(total);
        long total2=money*years;//默认是int,转换之前已经存在问题了
        long total3=money*((long)years);
        System.out.println(total3);//可正常输出
    }
}

4.变量常量

变量

变量就是可以变化的量,一个变量代表一个空间。Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。

变量的命名规范:

1.所有变量、类名、方法名要见名知意(name/age/salary),

2.类成员变量首字母小写和驼峰原则(除了第一个单词外,后面的单词首字母大写 ,例如:lastName),

3.局部变量首字母小写和驼峰原则,常量大写字母和下划线(MAX_VALUE),

4.类名首字母大写和驼峰原则(例如:Demo/User),

5.方法名首字母小写和驼峰原则(例如:run()/getName())

变量的含义与生活中的例子:电脑的一个内存条相当于一个衣柜,内存条里的数据类型(int,char)相当于衣柜内部的衣服分类区域(裤子、鞋),数据类型的int类型相当于衣柜里放裤子的部分,int类型的数据名a、b相当于衣柜放裤子位置里的牛仔裤、运动裤。

//数据类型 变量名=值;例如:int a=10 裤子区域 a=长裤子

类变量

实例变量

局部变量

public class Demo5 {
    //1.类变量 static
    static double salary=2500;//静态 共享
    //属性:变量
    //2.实例变量:从属于对象;
    // 如果不进行初始化这个类型的初始值为0/0.0/false等,除了基本类型(8种),默认值都是null,空
    String name="tom";
    int age=18;
    //常量
    static final  double PI=3.1415926;//常量,不可改变
    public static void main(String[] args) {
        //3.局部变量,必须声明和初始化值
        int i=10;
        System.out.println(i);
        //变量类型 变量名字=new Demo5();
        Demo5 demo5=new Demo5();
        System.out.println(demo5.age);
        System.out.println(demo5.name);
        //类变量 static
        System.out.println(salary);
    }
}

常量

常量,初始化后不能再改变值,不会变动的值。可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

final 常量名=值;常量一般使用大写

5.运算符

  • 算数运算符:+,-,*,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==(Java里的等于是用两个=进行判断),!=(返回的结果:正确,错误,布尔值)
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符(三元运算):a?b :c
  • 扩展赋值运算符:+=,-=,*=,/=

优先级:

package operator;

public class Demo1 {
    public static void main(String[] args) {
       //算数运算符:+,-,*,/,% 二元运算符(两个数字)
        //Ctrl+D:复制当前行到下一行
        int a=10;
        int b=20;
        int c=21;
        int d=20;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        //需要强转,否则结果为小数,输出却为0
        System.out.println(a/(double)b);//强转
        System.out.println(c%d);//取余,模运算
    }
}

package operator;

public class Demo2 {
    public static void main(String[] args) {
        long a=123123123123123L;
        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
        //cast:转换
        //byte、short、char用运算符运算过后自动转为int类型
    }
}
package operator;

public class Demo3 {
    public static void main(String[] args) {
        //关系运算符 返回的结果:正确,错误,布尔值
        int a=10;
        int b=20;
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}
package operator;

public class Demo4 {
    public static void main(String[] args) {
        //算数运算符:++,-- 自增自减,一元运算符(一个数字)
        int a = 3;
        System.out.println(a);
        int b = a++;//执行完这行代码后,先把a的值赋给b,a的值再+1
        //a=a+1
        System.out.println(a);//输出4(3+1)
        System.out.println(b);//输出3
        //a=a+1
        int c = ++a;//执行完这行代码前,a先+1,然后a再给b赋值
        System.out.println(a);//输出5
        System.out.println(b);
        System.out.println(c);//输出5(c=a)
        //幂运算,借助工具类math中pow()的方法
        //Alter+Enter可以自动生成该对象的引用
        double pow = Math.pow(2, 3);//2^3
        System.out.println(pow);
    }
}
package operator;

public class Demo5 {
    public static void main(String[] args) {
        //与(and),或(or),非(取反)
        boolean a=true;
        boolean b=false;
        //逻辑运算:两个变量都为真,结果才为true
        System.out.println("a&&b:"+(a&&b));
        //逻辑运算:两个变量有一个为真,结果就为true、
        //两个变量都为假,结果才为假
        System.out.println("a||b:"+(a||b));
        //逻辑运算:如果是假则为真,如果是真则为假
        System.out.println("!(a&&b):"+!(a&&b));
        //短路运算 a&&b,a为假时,b就不再运算
        int c=5;
        boolean d=(c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
    }
}
package operator;

public class Demo6 {
    public static void main(String[] args) {
        /*位运算,与二进制有关,对个数两字中相同位置的数字进行运算
         A= 0011 1100
         B= 0000 1101
----------------------------------------------
        A&B 0000 1100 与
        A|B 0011 1101 或
        A^B 0011 0001 异
        ~B  1111 0010 取反
        <<左移相当于*2 ,>>右移相当于/2
        效率极高
        0000 0000 0
        0000 0001 1
        0000 0010 2
        0000 0100 4
        0000 1000 8
        0001 0000 16
        */
        //  2*8=16  2*2*2*2
        System.out.println(2<<3);//左移
    }
}
package operator;

public class Demo7 {
    public static void main(String[] args) {
        //扩展赋值运算符+=,-=
        int a=10;
        int b=20;
        a+=b;//a=a+b a=10+20
        System.out.println(a);
        a-=b;//a=a-b a=30-20
        System.out.println(a);

        //字符串连接符 +,String
        System.out.println("字符串"+a+b);//进行字符串拼接
        System.out.println(a+b+"字符串");//进行运算
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello一車一乗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值