DAY 6

数据类型的拓展

public class Demo03{
    public static void main(String[]args){
      //整数的拓展: 进制  二进制0b 十进制  八进制0 十六进制0x
      int i = 10;
      int i2 = 010;//八进制0
      int i3 = 0x10;//十六进制0x 0~9 A~F(16)
      
      System.out.println(i)
      System.out.println(i2)
      System.out.println(i3)  
      =================================================
       //浮点数拓展:
          //float:有限 离散 舍入误差 大约 接近但不等于
          //double
       float f = 0.1f;//0.1
       double d = 1.0/10;//0.1
       
       System.out.println(f==d);//false
       
       float d1 = 2313131231312312313f
       float d2 = d1 + 1
       
       System.out.println(d1==d2);//true
      =================================================
       //字符拓展
       System.out.println("=========================");
        char c1 = 'A'
        char c2 = '中'
        
       System.out.println(c1);
       
       System.out.println((int)c1);//强制换行
       
       System.out.println(c2);
       
       System.out.println((int)c2);//强制换行
        //1.所有的字符本质还是数字  2.编码Unicode表:占了两个字节,可以表示65536字符(a=97,A=65)
       //转义字符
        //\t  制符表
        //\n  换行
        //......
        System.out.println("Hello\nWorld");
         
        System.out.println("========================")
        String sa = new String(original:"hello world");
        String sb = new String(original:"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){}//老手
          //代码要精简易读
    }
}

类型转换

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

运算中,不同的类型的数据先转换为同一个类型,然后再进行运算

类型转换分为:强制类型转换和自动类型转换

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

变量,常量,作用域

变量

顾名思义可以变化的量

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

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

注:1.每个变量都有类型,类型可以是基本的类型,也可以是引用的类型 2.变量名必须是合法的标识符 3.变量声明是一条完整的语句,因此每一个声明都必须以分号结束

public class Demo07{
    public static void main (String[] args)
        //int a,b,c
        int a = 1;
        int b = 2;
        int c = 3;//一定要让程序具有可读性
        String name = "小郑";
        char x = 'x';
        double pi = 3.14;
            
        
}

变量作用域

类变量(注意关键词"static") 实例变量(正常的) 局部变量(在方法里的)

public class Demo08{
    //属性:变量
     
    //类变量  static
    static double salary = 2500;
    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值0 0.0
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null
    String name;
    int age;
    
    //main 方法
    public static void main(String[]args){
        
        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);
        
        //变量类型 变量名字 = nwm Demo08()
        Demo08 demo08 = new Demo08();
        System.out.println(Demo08.age);
        System.out.println(Demo08.name);
        
        //static
        System.out.println(salary)
    }
      //其他方法
    public void add(){
        
    }
}

常量

是指初始化后不能再改变的值(不会变的数)

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

常量名一般使用大写字符

final // final是修饰符(不存在先后顺序)常量名 = 值
final double PI = 3.14;
=======================================================
public class Demo09{
    static final double PI = 3.14;
    public static void main (String[] args){
        System.out.println(PI)
    }
}

注:1.所有的变量,方法,类名都是见面知意 2.类成员变量:首字母小学和驼峰原则:monthSalary 3.局部变量:首字母小写和驼峰原则 4.常量:大写字母和下划线:MAX_VALUE 5.类名:首字母大写和驼峰原则:Man,GoodMan 6.方法名:首字母小写和驼峰原则:run(),runRun()

C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:437 throw err; // Rethrow non-MySQL errors ^ Error: secretOrPrivateKey must have a value at module.exports [as sign] (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\jsonwebtoken\sign.js:107:20) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\router_handler\2user.js:49:26) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:526:10) at Query._callback (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:488:16) at Sequence.end (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24) at Query._handleFinalResultPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:149:8) at Query.EofPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:133:8) at Protocol._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:43:10) Node.js v18.12.1
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值