Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

2年前 (2022) 程序员胖胖胖虎阿
207 0 0

文章目录

      • 命名规范
      • 变量的定义
      • 数据类型
          • 变量的分类
          • 浮点型
          • 字符型
          • 布尔型
      • 基本数据类型转换
        • 1.自动类型提升:
        • 2.强制类型转换:
      • 字符串类型:string
        • 练习题1.0
        • 练习题2.0
        • 练习题3.0
        • 练习题4.0
      • 其它

命名规范

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

变量的定义

定义变量格式: 数据类型 变量名= 变量值
1.先声明后使用
2.变量都定义在作用域内。在作用域内他是有效的,出了作用域就失效了
3.同一个作用域内不可以声明相同的两个变量

数据类型

变量的分类

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

ps(整型):

  1. byte范围:-128~127
  2. 声明long型变量,必须以“l”或者”L“结尾
  3. 通常定义整型变量时用int
浮点型

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

ps(浮点型):

  1. float类型变量的定义,要以“f”或“F”结尾(浮点类型默认是double,但是由于float类型和double类型在内存中的二进制表现形式不同,不能像整形那样有时会默认转换,必须要确定类型,带上f)
字符型

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

ps(字符型):

  1. 定义char变量,通常使用一对 ‘ ’,内部只能写一个字符(1字符=2字节)
  2. 表述方式:1.声明一个字符 2.转义字符 3.直接使用Unicode值来表示字符型常量
布尔型

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

  • 只能取true或者false

基本数据类型转换

前提:只针对七种基本数据类型,不包括boolean。

1.自动类型提升:

​ 容量小的数据类型和容量大的数据类型做运算时,结果手动提升为容量大的数据类型

特别的:当byte、char、short三种类型做运算时,结果为int型

Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等

2.强制类型转换:

自动类型提升的逆运算

说明:此时的容量大小,表示数的范围的大和小。比如,float容量大于long的容量

例子:

public class day03 {
    public static void main(String[] args) {
        byte b1 = 2;
        int b2 = 12;
        int a = b1+b2;//低级和高级的做运算,往高级的靠
        System.out.println(a);
         //2.强制类型转换
        //注意点:需要使用强转符,可能导致精度损失
        double c1 = 12.3;
        int i1=(int)c1;//截断操作
        System.out.println(i1);

        long l1 =123;
        short s2 =(byte)l1;
        System.out.println(s2);//没有精度损失

        int i2 = 128;
        byte b =(byte)i2;
        System.out.println(b);//-128
    }
}

字符串类型:string

  1. String不是基本数据类型,属于引用数据类型 ,字符串
  2. 声明string变量时,用一对双引号(“ ”)
  3. 使用方式与基本数据类型一致。例如:String str = “abcd”
  4. string可以和八种基本数据做运算,且运算只能为连接运算
  5. char里面有且仅能放一个字符,而string长度没有限制,char用单引号,string用双引号
  6. 一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如: str = str + “xyz” ; int n = 100; str = str + n

练习题1.0

public class day05 {
    public static void main(String[] args) {
        //练习题1
        char c ='a';//a的ASCII码是97
        int num = 10;
        String str = "hello";
        System.out.println(c + num + str); 
        System.out.println(c + str + num);
        System.out.println(c + (num + str));
        System.out.println((c + num) + str);
        System.out.println(str + num +c);
    }
}
/*
编译结果:(注意运算顺序和运算时候的数据类型)

107hello
ahello10
a10hello
107hello
hello10a
*/

练习题2.0

public class day06 {
    public static void main(String[] args) {
        //练习题2
        //输出 *   *
        //注意:考虑string是做运算还是做链接
        System.out.println("*   *");
        System.out.println('*'+ '\t' + '*');
        System.out.println('*'+"\t"+'*');
        System.out.println('*'+'\t'+"*");
        System.out.println('*' +('\t'+"*"));
    }
}
/*
编译结果:(注意string是做运算还是连接)
*   *
93
*	*
51*
*	*
*/

练习题3.0

    String str1 = 4; //判断对错:no
	String str2 = 3.5f + “”; //判断str2对错:yes
    System.out.println(str2); //输出:”3.5”
    System.out .println(3+4+“Hello!”); //输出:7Hello!
    System.out.println(“Hello!”+3+4); //输出:Hello!34
    System.out.println(‘a’+1+“Hello!”); //输出:98Hello!
    System.out.println(“Hello”+‘a’+1); //输出:Helloa1

练习题4.0

short s = 5;
s = s-2; //判断:no

byte b = 3;
b = b + 4; //判断:no
b = (byte)(b+4); //判断:yes

char c = ‘a’;
int i = 5;
float d = .314F;
double result = c+i+d; //判断:yes

byte b = 5;
short s = 3;
short t = s + b; //判断:no

其它

  1. \n:换行
  2. 编码特殊情况:
public class day04 {
    public static void main(String[] args) {
        //1.编码情况
        long l =1231234;
        System.out.println(l);//没加l却未报错,因为被认定为int型(自动类型提升)
        //long l2 =123123123123;//编译失败,过大的整数
        long l2 =123123123123L;//加'L'
        System.out.println(l2);
        //2.编译失败情况
        //float f1 = 12.3;//编译失败,因为大的不能向小的转(必须加f)

        //3.编译失败情况2:整型常量默认为int型
        //浮点型常量默认为double型
        byte b = 12;
        //byte b1 = b + 1;编译失败
        //float f1 =b + 12.3;编译失败
    }
}
情况
        //float f1 = 12.3;//编译失败,因为大的不能向小的转(必须加f)

        //3.编译失败情况2:整型常量默认为int型
        //浮点型常量默认为double型
        byte b = 12;
        //byte b1 = b + 1;编译失败
        //float f1 =b + 12.3;编译失败
    }
}

相关文章

暂无评论

暂无评论...