day2 Java基础语法(上)

Java基础语法(上)

注释

	    //单行注释:只能注释一行文字   // 注释
        

        //多行注释:可以注释一段文字   /* 注释 */
        /*
        多行注释
        多行注释
        多行注释
         */


        //JavaDoc:文档注释        /** 注释 */
        /**
         * @Description Helloworld
         * @Author 散落星河的清风
         */

标识符

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

关键字

标识符注意点

  1. 所有的标识符都应该以字母(A-Z或a-z)、美元符($)、或者下划线(_)开头
  2. 首字符之后可以是字母(A-Z或a-z)、美元符($)、下划线(_)或数字的任何字符组合
  3. 不能使用关键字作为变量名或方法名
  4. 标识符是大小写敏感
  5. 可以用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low~
public class Demo01 {
    public static void main(String[] args){
        String 路易斯="Louis";
        String Ahello="Louis";
        String hello="Louis";
        String $hello="Louis";
        String _1="Louis";
        //String class="Louis";
        //String _#="Louis";
        //String 1hello="Louis";
        //String #hello="Louis";
        //String *hello="Louis";
    }
}

数据类型

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

变量

Java是一个强类型语言,每个变量必须声明其类型

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

    type varName [=value] [{,varName [=value]}];
//数据类型  变量名  =值;可以用英文半角逗号隔开来声明多个同类型变量
/* 注:
	1. 每个变量都有类型,类型可以是基本类型也可以是引用类型
	2. 变量名必须是合法的标识符
	3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
*/
public class Demo02 {
    public static void main(String[] args){
        String a="Louis";
        int num = 10;
        System.out.println(a);
        System.out.println(num);
    }
}

Java的数据类型分两大类(基本类型 primitive type)和(引用类型 reference type)

基本数据类型
public class Demo02 {
    public static void main(String[] args){
        /*
        String a="Louis";
        int num = 10;
        System.out.println(a);
        System.out.println(num);
        */
        //八大基本数据类型
        //整数
        int n1 =10;//最常用
        byte n2=20;
        short n3=30;
        long n4=40L;//long类型要在数字后面加个L
        //小数:浮点数
        float n5=50.1F;//float类型要在数字后面加个F
        double n6=3.141592653589793238462643;
        //字符
        char name='A';
        char name1='刘';
        //char other="sad";字符只能是一个字
        //字符串 String不是关键字,是类
        String name2="Louis";
        //布尔值
        boolean flag1=true;
        boolean flag2=false;
    }
}
数据类型拓展及面试题
public class Demo03{
    public static void main(String[] args){  //!!!快捷输出:psvm+回车
        //===========================================
        //整数拓展:进制  二进制0b 十进制 八进制0 十六进制0x
        //===========================================
        int i1= 10; //十进制
        int i2= 010; //八进制0
        int i3= 0x10; //十六进制0x
        System.out.println(i1); //!!!快捷输入:sout+回车
        System.out.println(i2);
        System.out.println(i3);
        				                           		           System.out.println("========================================================");
        //============================================
        //浮点数拓展   有限 离散 舍入误差 大约 接近但不等于
        //最好完全避免使用浮点数进行比较!!!
        // BigDecimal 数学工具类(比较)
        //============================================
        //1
        float f=0.1f; //0.1
        double d=1.0/10; //0.1
        System.out.println(f==d);//判断f和d是否相等 false
        //2
        float d1=165156165465165416166f;
        float d2=d1+1;
        System.out.println(d1==d2);//true
        System.out.println("========================================================");
        //============================================
        //字符拓展
        //============================================
        char c1='a';
        char c2='中';
        System.out.println(c1);//a
        System.out.println((int)c1);//强制转换 97
        System.out.println(c2);//中
        System.out.println((int)c2);//强制转换 20013
        //所有的字符本质还是数字
        //编码 Unicode编码表可处理各种语言的文字 占2字节
        // U0000 UFFFF
        char c3='\u0061';
        System.out.println(c3);//a
        //转义字符
        //  \t  制表符
        //  \n  换行
        //  ...
        System.out.println("Hello\tworld");
        System.out.println("Hello\nworld");
        System.out.println("========================================================");
        //拓展:对象 从内存分析
        String a= new String("hello world");
        String b= new String("hello world");
        System.out.println(a==b);//false

        String sc="hello world";
        String sd="hello world";
        System.out.println(sc==sd);//true
 System.out.println("========================================================");
        //============================================
        //布尔值拓展
        //============================================
        boolean flag=true;
        if (flag=true){}  //新手
        if (flag){}       //老手
        //Less is More! 代码要精简易读
    }
}

类型转换

由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

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

运算中,不同类型的数据先转化为同一类型,然后进行计算

public class Demo04 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i;//内存溢出
        double a=i;
        //强制转换  (类型)变量名  高-->低
        //自动转换   低-->高
        System.out.println(i); //128
        System.out.println(b); //-128
        System.out.println(a); //128.0
        /*
        注意点:
        1. 不能对布尔值进行转换
        2. 不能把对象类型转换为不相干的类型
        3. 在把高容量转换到低容量的时候,强制转换
        4. 转换的时候可能存在内存溢出,或者精度问题!
         */
        System.out.println("========================================================");
        System.out.println((int)23.7); //23
        System.out.println((int)-45.89f); //-45
        System.out.println("========================================================");
        char c='a';
        int d=c+1;
        System.out.println(d); //98
        System.out.println((char)d); //b
 System.out.println("========================================================");
        //操作比较大的时候,注意溢出问题
        //jdk7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money * years; //-1474836480,计算时出现溢出
        long total2 = money * years; //-1474836480 默认是int,转换前就存在问题
        long total3 = ((long)money)*years; //20000000000
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值