day03-java

本文介绍了Java的基础语法,包括注释的三种类型,数据类型的分类(整型、浮点型、字符型、布尔型)及其使用,进制表示以及类型转换。此外,还涉及到了运算符的使用,如算术、关系、逻辑运算符,并讲解了变量的作用域和命名规范。最后提到了包的概念和使用。
摘要由CSDN通过智能技术生成

day03-java

基础语法

注释

注释:不执行

单行注释://

多行注释:/* */

文档注释:/** /

eg:

package xcj_study.base;

public class Helloworld {
    public static void main(String[] args) {
        //输出一个helloworld
        /*多行注释
        123
        123
         */
        //javadoc:文档注释 /**  /
        /**
         * @Author xcj_study
         */

        System.out.println("hello world");
        System.out.println("xcj_study");
    }
}

关键字

标识符:以A-z/a-z/$美元符/下划线为开头

关键词如下

abstract	assert	boolean	break	byte
case	catch	char	class	const
continue	default	do	double	else
enum	extends	final	finally	float
for	goto	if	implements	import
instanceof	int	interface	long	native
new	package	private	protected	public
return	strictfp	short	static	super
switch	synchronized	this	throw	throws
transient	try	void	volatile	while
  • 不能使用关键字作为变量名或方法名。
  • 标识符大小写敏感

数据类型(java属于强类型语言)

变量 :数据类型 变量名 = 值;

基本类型

(1)整数类型:byte、short、int、long (byte 一个字节 short 两个字节

​ int 四个字节 long 八个字节 变量值末尾加L)
(2)浮点类型:float、double (float 四个字节 变量值末尾加F)/(double 八个字节 )
(3)字符类型:char 两字节
(4)布尔类型:boolean(true/false)

引用类型

  1. 接口
  2. 数组

字节

  1. 位(bit)最小单位
  2. 字节(byte)用B表示计算机处理的基本单位
  3. 1B = 8bit;
  4. 1bit = 1位
  5. 1byte= 1字节
  6. 1024B = 1KB;
  7. 1024KB = 1M;
  8. 1024M = 1G;
package xcj_study.base;

public class Demo02 {
    public static void main(String[] args) {
        //整数
        //Integer//类
        int num = 10;
        int i1 = 10;//最常用
        byte i2 = 20;
        short i3 = 30;
        long i4 = 40L;//long类型在数字后面加L
        //小数:浮点数
        float i5 = 50.1F;//Float类型在数字后面加加F
        double i6 = 1.1315678345;
        //字符
        char a = 'A';
        //字符串 String不是关键词
        String name = "xcj_study";

        //布尔值
        boolean fals = true;

    }
}

进制

整数扩展 进制 二进制0b 十进制 八进制 十六进0x

实例:

package xcj_study.base;

public class Demo03 {
    public static void main(String[] args) {
        //整数扩展     进制       二进制0b     十进制     八进制     十六进制0x
        int i = 10;
        int i2 = 010;//八进制
        int i3 = 0x10;//十六进制0-9,A-F
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);

        //浮点数拓展  银行业务,钱
        //BigDecimal 数学工具类
        //float  有限 离散,舍入误差 大约接近不等于
        //最好完全避免浮点数进行比较
        //double  无线

        float f = 0.1f;
        double d = 1.0/10;
        System.out.println(f==d);//false
        System.out.println(f);
        System.out.println(d);
        float d1 = 12938383391f;
        float d2 = d1+1;
        System.out.println(d1==d2);//true



        //字符拓展
        char c1 = 'a';
        char c2 = 'b';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);
        //字符本质是数字
        //编码 Unicode 2字节 0-65536  excel 0-65536
        char c3  = '\u0061';
        System.out.println(c3);//表示a

        //转义字符
        //\t  //制表符
        //\n 换行

        System.out.println("hello,\t world");


        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);//不相等

        String sc ="hello world";
        String sd ="hello world";
        System.out.println(sc==sd);//相等

        //内存分析

        //布尔值扩展
        boolean flag = true;
        if (flag==true)//新手
            //if(flag)//老手
        {

        }


    }
}

类型转换

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

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

运算中,不同类型的数据转换成相同的类型再运算

实例:

package xcj_study.base;

public class Demo04 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte) i;//内存溢出byte最大值127
        //强制转换  (类型)变量名 从高到低

        double c = i ;
        System.out.println(c);
        //自动转换  从低到高

        System.out.println(i);
        System.out.println(b);

        /*
        注意
        1不能对布尔类型进行转换
        2 不能把对象类型转换成不相干的类型
        3 把大容量转换到低容量的时候,强制转换
        4 转换的时候会出现溢出,或者精度问题
         */
        //精度问题
        System.out.println((int)23.7);
        System.out.println((int)-49.89f);

        char c1 = 'a';
        int d = c1+1;
        System.out.println(d);
        System.out.println((char) d);

        //操作比较大的数注意溢出,数字间可以用下划线分割

        int money = 10_0000_0000;
        int years = 20;
        int total = money* years;
        long total1 = money* years;
        System.out.println(total1);//默认是int,转换之前已经存在问题
        System.out.println(total);//-1474836480, 计算的时候溢出了

        long total2 = money*((long)years);//先把一个数转换成long
        System.out.println(total2);



    }
}

变量

  1. 变量要声明类型
  2. 变量是程序中最基本的存储单元,要素:变量名,变量类型,作用域

变量作用域

  • 类变量 (需要加关键字static)
  • 实例变量 (无关键字)
  • 局部变量(在方法里)

类变量

常量:初始化之后不变

​ 关键词:final 常量名=值;

变量命名规范

  1. 类成员变量:除第一个单词以外,后面单词首字母大写 eg:lastName

  2. 常量:大写字母和下划线 eg:MAX_VALUE

  3. 类名:首字母大写和驼峰原则

  4. 方法名:首字母小写和驼峰原则

package xcj_study.base;

public class Demo05 {
    //main方法
    //属性:变量
    /*实例变量,方法的外面,类的里面。从属于对象,如果不初始化,这个类型默值 0 0.0 u0000
    布尔值默认为false,
    除了基本类型,默认值都为null

    */
    //类变量 加static
    static  double salary  = 2500;
    //修饰符,不存在先后顺序
    public static final double PI = 3.14;
    String name;
    int age;
    public static void main(String[] args) {
        //局部变量,在一个方法里面存在,使用前必须声明和初始化
        int c = 10;
        //int a,b,c;
        int a = 1;//程序可读性
        String name = "xcj_study";
        char x = 's';
        double pi = 3.14;
        //变量类型  变量名 = new xcj_study.base.Demo05
        Demo05 demo05 = new Demo05();
        System.out.println(demo05.age);

        //类变量 加static
        System.out.println(salary);
        System.out.println(PI);


    }
    //其他方法
    public  void add()
    {

    }
}

运算符

基本运算符
算术运算符:+,-,*,/,%,++,–

赋值运算符:=

关系运算符:<,>,>=,<=,==,!=,instanceof

逻辑运算符:&&,||,!

位运算符:&,|,^,~,>>,<<,>>>

条件运算符:?:

扩展赋值运算符:+=,-=,*=,/=

运算符的实例

package xcj_study.operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 10;
        int c = 10;
        int d = 10;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);

        long a1 = 123123123123L;
        int b1 = 123;
        short c1 = 10;
        byte d1  = 8;
        System.out.println(a1+b1+c1+d1);//long,有long(double)结果就是long(double)类型,无long(double)结果就是int.
        System.out.println(b1+c1+d1);//int
        System.out.println((double) c1+d1);//int

        //关系运算符 返回结果是正确、错误 布尔值表示

        int e = 10;
        int f = 20;
        int g = 31;

        System.out.println(e>f);
        System.out.println(e<f);
        System.out.println(e==f);
        System.out.println(e!=f);
        System.out.println(g%e);//取余,模运算

        //++  --  自增,自减  一元运算符

        int e1 = 3;
        int f1 = e1++;  //执行完折行代码后,先给b赋值,再自增。所以b是3
        //e1++ = a + 1;

        int g1 = ++e1;  //执行完折行代码前,先自增,再给b赋值.

        System.out.println(e1);
        System.out.println(f1);
        System.out.println(g1);

        //幂运算           很多运算使用工具类运算
        double pow = Math.pow(3, 2);
        System.out.println(pow);


        //逻辑运算符  与(and)或(or)非(取反)
        boolean bo = true;
        boolean bl = false;
        System.out.println("bo && bl:"+(bo&&bl));//逻辑与运算:两个变量都为真,结果才为真
        System.out.println("bo || bl:"+(bo||bl));//逻辑或运算,两个变量有一个为真,结果才为真
        System.out.println("!(bo && bl):"+!(bo&&bl));//如果为假才为真

        //短路运算 逻辑与运算第一个为假即结束判断


        //位运算
        /*
        A = 0011 1100
        B = 0000 1101

        A&B     //同时为1则为1,其余为0 即0000 1100 与
        A|B     //对应位都为0,则为1,即 0011 1101    或
        A^B     //对应位相同为0,不同为1 即 0011 0011  异或
        ~B      //取相反 即 1111 0010   非

         面试:算2*8 = 16 最快
         左移 << 每左移一位乘2
         右移 >> 每右移一位除2


         */
        System.out.println(2<<3);

        //面试:字符串连接符  + ,在加号两边出现String类型的就会进行连接
        System.out.println(""+a+b);
        System.out.println(a+b+"");
        System.out.println("abc"+a+b);
        System.out.println(a+b+"abc");//字符串在加号前面会与后面的拼接,在加号后面会对前面的先进行运算再拼接


        //三元运算符 x?y:z  x结果为真,则为y,否则为z
        int x=80;
        String type = x < 60?"不及格":"及格";
        System.out.println(type);


    }
}

包机制

包实质是文件夹 一般用公司的域名倒写作为包名 eg:www.baidu.com 包名是 com.baidu.www

定义:package ````````

导入:import package1 ``````/ (import `````````* 指导入包所有类)

.out.println(a+b+“”);
System.out.println(“abc”+a+b);
System.out.println(a+b+“abc”);//字符串在加号前面会与后面的拼接,在加号后面会对前面的先进行运算再拼接

    //三元运算符 x?y:z  x结果为真,则为y,否则为z
    int x=80;
    String type = x < 60?"不及格":"及格";
    System.out.println(type);


}

}


## 包机制

包实质是文件夹 一般用公司的域名倒写作为包名 eg:www.baidu.com 包名是 com.baidu.www

定义:package ````````

导入:import package1 ``````/  (import `````````*  指导入包所有类)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值