0
点赞
收藏
分享

微信扫一扫

Java尚硅谷基础-Day02

东言肆语 2022-02-04 阅读 48

目录

定义变量的注意点 

JAVA定义的数据类型

基本数据类型之间的运算规则

强制类型转换:自动类型提升运算的逆运算

变量运算规则的两个特殊情况

Sring类型变量的使用

不同进制的表示方式



定义变量的注意点

/*
变量的使用
1.java定义变量的格式:数据类型 变量名 = 变量值;

2.说明:
  1.变量必须先声明,后使用
  2.变量都定义在其作用域内{}。在作用域内,它是有效的。出了作用域,就失效了。
  3.同一个作用域内,不可以声明两个同名的变量
 */
public class man {
    public static void main(String[] args){
        //变量的定义
        int myAge = 12;
        //变量的使用
        System.out.println(myAge);

        int myNumber;
        myNumber = 1001;
        System.out.println(myNumber);

    }
}

JAVA定义的数据类型

一、变量按照数据类型来分:
   基本数据类型:
       整型:byte \ short \ int \ long
       浮点型:float \ double
       字符型: char
       布尔型:boolean
   引用数据类型:
       类(class)
       接口(interface)
       数组(array)
 二、变量在类中声明的位置:
         成员变量 vs 局部变量

VariableTest1.java
public class VariableTest1 {
    public static void main(String[] args){
        //整型:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节)
        //①.byte范围:-128 ~127
        byte b1 = 12;
        byte b2 = -128;
        //b2 = 128;//编译不通过
        System.out.println(b1);
        System.out.println(b2);
        //②.声明long型变量,必须以“1”或“L”结尾
        short s1 = 128;
        int i1 = 1234;
        long l1 = 3434535L;
        System.out.println(l1);

        //2.浮点型:float(4字节) \ double(8字节)
        //①浮点型,表示带小数点的数值
        //②float表示数值的范围比long还大

        double d1 = 123.3;
        System.out.println(d1+1);
        //③定义float类型变量时,变量要以“f”或“F”结尾
        float f1 = 12.3f;
        System.out.println(f1);
        //④通常,定义浮点型变量时,使用double型。

        //3.字符型:char (1字符=2字节)
        //①定义char类型变量,通常使用一对'',内部只能写一个字符
        char c1 = 'a';
        //c1 = 'AB';编译不通过
        System.out.println(c1);

        char c2 = '1';
        char c3 = '中';
        System.out.println(c2);
        System.out.println(c3);

        //②表示方式:1.声明一个字符 2.转义字符 3.使用Unicode值来表示字符型常量
        char c5 = '\n';//换行符
        c5 = '\t';//制表符
        System.out.print("hello"+c5);
        System.out.println("world");

        char c6 = '\u0123';
        System.out.println(c6);

        //4.布尔型:boolean
        //①只能取两个值之一:true、 false
        //②常常在条件判断、循环结构中使用
        boolean bb1 = true;
        System.out.println(bb1);

        boolean isMarried = true;
        if (isMarried){
            System.out.println("你\"就不\"能\n参\\n加");
        }else{
            System.out.println("你可以多谈谈");
        }
    }
}

基本数据类型之间的运算规则

前提:这里讨论的只是7种基本数据类型变量间的运算。不包含boolean类型的。
     1.自动类型提升:
      结论:当容量小的数据类型的变量和容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
      byte 、char 、short --> int --> long --> float --> double
      特别的:当byte、char、short三种类型的变量做运算时,结果为int型
说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量

 

VariableTest2.JAVA

public class VariableTest2 {
    public static void main(String[] args){

        byte b1 = 2;
        int i1 = 12;
        //编译不通过
        //byte b2 = b1 + i1;
        int i2 = b1 + i1;
        long l1 = b1+ i1;
        System.out.println(i2);

        float f = b1 + i1;
        System.out.println(f);

        short s1 = 123;
        double d1 = s1;//123.0
        System.out.println(d1);

        //**********************************

        char c1 = 'a';//97
        int i3 = 10;
        int i4 = c1 + i3;
        System.out.println(i4);

        short s2 = 10;
        //char c2 = c1 + s2;编译不通过

        byte b2 = 10;
        //char c3 = c1 + b2;编译不通过


    }
}

强制类型转换:自动类型提升运算的逆运算。

1.需要使用强转符:()

2.注意点:强制类型转换,可能导致精度损失

VariableTest3.java
public class VariableTest3 {
    public static void main(String[] args){

        double d1 = 12.9;
        //精度损失举例1
        int i1 = (int)d1;//截断操作
        System.out.println(i1);

        //没有精度损失
        long l1 = 123;
        short s2 = (short)l1;

        //精度损失举例2
        int i2 = 128;
        byte b = (byte)i2;
        System.out.println(b);//-128

    }
}

变量运算规则的两个特殊情况

VariableTest4.java

public class VariableTest4 {
    public static void main(String[] args){

        //1.编码情况1;
        long l = 123213;//右边认为是int,int比long大
        System.out.println(l);
        //编译失败:过大的整数
        //long l1 = 223453453645646456;
        long l1 = 1231231231231313L;//遇到特别大的数必须加L

        //*************************
        //编译失败
        //float f1 = 12.3f;//必须加f
        float f1 = (float)12.3;
        //2.编码情况2:
        //整型常量:默认类型为int
        //浮点型常量,默认类型为double型
        byte b = 12;
        //byte b1 = b + 1;

        //float f1 = b + 12.3;//编译失败
    }
}

Sring类型变量的使用

1.String属于引用数据类型,翻译为:字符串
2.声明String类型变量时,使用一对“”
3.String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
4.运算的结果仍是String类型

StringTest.java
package Day02;

public class StringTest {
    public static void main(String[] args){
        String s1 = "HELLO";

        System.out.println(s1);

        String s2 = "a";
        String s3 = "";

        //char c = '';//编译不通过

        //******************************************
        int number = 1001;
        String numberStr = "学号: ";
        String info  = numberStr + number;// +:连接运算
        boolean b1 = true;
        String info1 = info + b1;
        System.out.println(info1);

        //******************************************
        //练习1
        char c = 'a';//97
        int num = 10;
        String str = "hello";
        System.out.println(c + num + str);//107hello3
        System.out.println(c + str + num);//str
        System.out.println(c + (str + num));//a10hello
        System.out.println((c + str) + num);//107hello
        System.out.println(num + str + c);//hello10a

        //练习2
        System.out.println("*  *");
        System.out.println('*' + 't' + '*');
        System.out.println('*' + "t" + '*');//单引号是char,双引号是String
        System.out.println('*' + 't' + "*");
        System.out.println('*' + ('t' + "*"));

        //********************************

        String str1 = 123 + "";
        System.out.println(str1);

        //int num1 = str1;错误
        //int num1 = (int)str1;错误


    }
}

不同进制的表示方式

二进制:以0b或0B开头

八进制:以数字0开头

十六进制:以0x或0X开头

举报

相关推荐

Java基础Day02

Java语言基础day02

day02 - Java基础语法

vue基础(day02)

java入门day02

JAVA学习day02

Day02

0 条评论