变量和数据类型

前言

文章内容输出来源:拉勾教育JAVA就业训练营
总目录跳转链接:总目录
如有侵权请联系本人
邮箱:xiaogueika@tom.com



变量相关

变量的声明方式

  • 数据类型 变量 = 初始值;
  • 其中=初始值可以省略,但;不可以省略
/**
*	编程实现变量的声明和使用
*/
public class VarTest {
	public static void main(String[] args) {
		// 1.声明一个变量并初始化	数据类型 变量 = 初始值;
		int age = 18;
		// 2.控制台打印变量的数值	+ 字符串连接符 用于将两边的内容拼接/连接起来结果还是字符串
		System.out.println("age = "+ age);//age = 18
	}
}

变量的注意事项

		System.out.println("-----------------3.使用变量的注意事项------------------");
		//3.1	使用变量之前需要声明
		//System.out.println("name = " + name); 错误:找不到符号
		//3.2	使用变量之前需要初始化
		//String name;
		//System.out.println("name = " + name); 错误:可能尚未初始化变量 name
		String name = "怪咖";
		System.out.println("name = " + name);
		//3.3	变量不能重复声明
		//int age =17; 已在方法 main(java.lang.String[])中定义/声明了变量 age

标识符的命名法则(笔试)

  • 由数字、字母、下划线以及$等组成,其中数字不能开头(后面讲到)。
  • 不能使用Java语言的关键字,所谓关键字就是Java语言用于表示特殊含义的单词。
  • 区分大小写,长度没有限制但不宜过长。
  • 尽量做到见名知意,支持中文但不推荐使用。(拼音也尽量不使用)
  • 标识符可以给类/变量/属性/方法/包起名字。

Java语言的关键字:

abstract class    extends implements null      strictfp     true
assert   const    false   import     package   super        try
boolean  continue final   instanceof private   switch       void
break    default  finally int        protected synchronized volatile
byte     do       float   interface  public    this         while
case     double   for     long       return    throw
catch    else     goto    native     short     throws
char     enum     if      new        static    transient

案例题目

1、提示用户从键盘输入自己的姓名和年龄信息并打印出来。

//导入java目录中util目录的scanner类
import java.util.Scanner;

/**
 *  编程实现变量的输入输出
 * @author cyh
 * @create 2020/12/9 11:09
 */
public class VarIOTest {
    public static void main(String[] args) {
        //1.声明两个变量用于记录姓名和年龄信息
        String name;
        int age;
        //2.提示用户从键盘输入姓名和年龄信息并放入到变量中
        System.out.println("请输入您的姓名和年龄信息:");
        //创建一个扫描器来扫描键盘输入的内容system.in代表键盘输入
        Scanner scanner= new Scanner(System.in);
        //通过扫描器读取一个字符串数据放入变量name中
        name=scanner.next();
        //通过扫描器读取一个整数数据放入变量age中
        age=scanner.nextInt();
        //3.打印变量的数值
        System.out.println("name = " + name);
        System.out.println("age = " + age);
    }
}

附:官方库的使用

  • JDK中带有大量的API类,是有Java系统带来的工具库,这些工具数以万计! 是Java官方程序员的技术积累。
  • 使用这些类可以大大简化编程,提高开发效率。
  • 具体的API类功能,可以参阅Java的参考手册

数据类型

数据类型的分类

在Java语言中数据类型主要分为两大类:

  • 基本数据类型(记住):
    byte、short、int、long、float、double、boolean、char
  • 引用数据类型(了解)
    数组、类、接口、枚举、标注

整数类型

  • Java语言中描述整数数据的类型有:byte、short、int、longint类型
  • 其中byte类型在内存空间中占1个字节,表示范围是:-27~27-1 【-128—127】
  • 其中short类型在内存空间中占2个字节,表示范围是:-215~215-1【-32768—32767】
  • 其中int类型在内存空间中占4个字节,表示范围是:-231~231-1【-2147483648—2147483647】
  • 其中long类型在内存空间中占8个字节,表示范围是:-263~263-1【-9101991019
  • 在Java程序中直接写出的整数数据叫做直接量/字面值/常量,默认为int类型。若希望表达更大的直接量,则在直接量的后面加上或者L,推荐L。
/**
 * 编程实现整数的使用
 * @author cyh
 * @create 2020/12/9 13:00
 */
public class IntTest {
    public static void main(String[] args) {
        //1.声明一个byte类型的变量并初始化
        byte b1 = 25;
        //byte b2 = 250; 不兼容的类型: 从int转换到byte可能会有损失
        //250这样直接写出的整数数据叫做直接量/常量/字面值 默认为int类型
        System.out.println("b1 = " + b1);
        System.out.println("----------------------------------");
        //2.声明一个short类型的变量并初始化
        short s1 =250;
        //short s2 =250250; 不兼容的类型: 从int转换到short可能会有损失
        System.out.println("s1 = " + s1);
        System.out.println("----------------------------------");
        //3.声明一个int类型的变量并初始化
        int i1 =250250;
        //int i2 =250250250250;  过大的整数: 250250250250 默认为int类型,这个数据自身已经出错
        //int i3 =250250250250L;  不兼容的类型: 从long转换到int可能会有损失
        System.out.println("i1 = " + i1);
        System.out.println("----------------------------------");
        //3.声明一个long类型的变量并初始化;若描述比1ong类型还大的数据则使用java.math.BigInteger类型
        long l1 = 250250250250L;
        System.out.println("l1 = " + l1);
    }
}

浮点类型(浮点精读损失)

  • Java语言中用于描述小数数据的类型:floatdouble,推荐double类型
  • 其中float类型在内存空间占4个字节,叫做单精度浮点数,可以表示7位有效数字,范围:-3.403E38~3.403E38。
  • 其中double类型在内存空间占8个字节,叫做双精度浮点数,可以表示15位有效数字,范围:-1.798E308~1.798E308。
  • Java程序中直接写出的小数数据叫做直接量,默认为double类型,若希望表达float类型的直接量,则需要在直接量的后面加上域者F.
  • double 0.0 ≠ 0;
/**
 * 编程实现浮点类型的使用(浮点型运算时可能有误差)
 * @author cyh
 * @create 2020/12/9 15:30
 */
public class DoubleTest {
    public static void main(String[] args) {
        //1.声明一个float类型的变量并初始化
        //float f1=3.1415926; 不兼容的类型: 从double转换到float可能会有损失  小数数据叫做直接量,默认为doub1e类型
        float f1 =3.1415926F;
        System.out.println("f1 = " + f1);//f1 = 3.1415925
        System.out.println("-------------------------------------");
        //2.声明一个float类型的变量并初始化
        double d1 = 3.1415926;
        System.out.println("d1 = " + d1);//d1 = 3.1415926
        //3.笔试考点  运算时可能会有误差,若希望实现精确运算则借助java.math.BigDecimal类型
        System.out.println(0.1 + 0.2); //0.30000000000000004
    }
}

布尔类型

  • Java语言中用于描述真假信息类型有:boolean,数值只有:truefalse
  • 布尔类型在内存空间中所占大小没有明确的规定,可以认为是1个字节。
/**
 * @author cyh
 * @create 2020/12/9 15:58
 */
public class BooleanTest {
    public static void main(String[] args) {
        //1.声明一个boolean类型的变量并初始化
        boolean b1 = true;
        System.out.println("b1 = " + b1);

        System.out.println("--------------------------");
        //2.修改变量b1的数值=赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量中原来的数值
        b1 =false;
        System.out.println("b1 = " + b1);
        System.out.println("-------------------------");
        //b1 = 1;   不兼容的类型: int无法转换为boolean
    }
}

字符类型

  • Java语言中用于描述单个字符的数据类型:char类型。如:al、中等。
  • 其中char类型在内存空间中占2个字节并且没有符号位,表示的范围是:0~65535,由于现实生活中很少有数据能够被单个字符描述,因此以后的开发中更多的使用由多个字符串起来组成的字符串,使用String类型加以描述,如:"hello”、“奇点“等。
  • 计算机的底层只识别0和1组成的二进制序列,对于字符a这样的图案来说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中存在这样的图案数据需要计算机存储,为了使得该数据能够存储起来就可以给该数据指定一个编号,然后将编号存储起来即可,该编号就叫做ASCII。
  • 在这里插入图片描述要求掌握的ASCI有:0’-48 ‘A’-65 ‘a’-97 空格-32 换行符-10
  • Java字符类型采用Unicode字符集编码。Unicode是世界通用的定长字符集,所有的字符都是16位。
  • 要求掌握的转义字符有:"-“ ‘-’ \-\ \t-制表符 \n-换行符
/**
 * 编程实现字符类型的使用
 * @author cyh
 * @create 2020/12/9 16:13
 */
public class CharTest {
    public static void main(String[] args) {
        //1.声明一个char类型的变量并初始化
        char c1 = 'a';
        System.out.println("c1 = "+ c1);
        System.out.println("对应的编号是:"+ (int)c1);//表示将char类型的c1强制转换为int类型并打印
        System.out.println("-----------------------------------");
        //2.声明一个char类型的变量并初始化(编号)
        char c2 = 98;
        System.out.println("c2 = "+ c2);
        System.out.println("对应的编号是:"+ (int)c2);
        System.out.println("-----------------------------------");
        //3.使用Unicode字符集来表示一下我的名字 怪咖    对应的编号:\u602a\u5496
        char c3 = '\u602a';
        char c4 = '\u5496';
        System.out.println("最终的结果是:" + c3 + c4);
        System.out.println("-----------------------------------");
        //4.特殊字符的使用 双引号本身有两个含义:a.字符串的开头和结尾标志 b.双引号自身    \转义就是转换原有的含义
        System.out.println("我想过过\"过过过过的生活!");// \"  -"
        System.out.println("我想过过\'过过过过的生活!");// \'  -'
        System.out.println("我想过过\\过过过过的生活!");// \\  -\
        System.out.println("我想过过\t过过过过的生活!");// \t  -空格
        System.out.println("我想过过\n过过过过的生活!");// \n  -换行
    }
}

基本数据类型之间的转换

  • Java语言中基本数据类型之间的转换方式:自动类型转换和强制类型转换。

  • 其中自动类型转换主要指从小类型到大类型之间的转换。
    在这里插入图片描述

  • 其中强制类型转换主要指从大类型到小类型之间的转换,语法格式如下:
    目标类型变量名=(目标类型)源类型变量名;

  • 强转有风险,操作需谨慎!


总结归纳

一、变量声明和使用(重点)
变量的概念、变量的声明方式、变量的注意事项、标识符的命名法则(Java语言的关键字)、变量的输入和输出

二、数据类型
基本数据类型(记住):byte、short、int、long、float、double、boolean、char
数据类型之间的转换 : 自动类型转换和强制类型转换。
常用的ASCII以及转义字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值