首页 > 其他分享 >数据类型&变量&表达式总结

数据类型&变量&表达式总结

时间:2023-12-28 20:47:26浏览次数:31  
标签:类型转换 变量 int age 数据类型 byte 表达式

总结

数据类型转换

  1. 概念:数据从一种数据类型转换为另外一种类型

  2. 为什么需要数据类型转换?

    • 节约内存空间

    • 业务需要

  3. java中的数据类型转换分类

    • 向上转型:从小范围的数据转换为大范围的数据类型,自动发生

      byte b = 10; // 局部变量
      short s = b; // 发生数据类型转换,向上转型 1、将b的值10由byte类型转换short类型 2、再将转换后short类型的10赋值变量s
      int n = s;
      long l = n;
      

    float f = l;
    double d = f;

 
 - 向下转型:从大范围的数据类型转换为小范围的数据类型,强制执行

    *          向下转型会降低精度
    *          也会发生数据溢出
 
   ```java
   double d = 3.14;
   int a = (int)d; // 发生向下转换,把d的数据3.14由double转换为int
   System.out.println(a);
 ```java
  int num = -120;
  byte b = (byte)num; // 发生数据溢出
  System.out.println(b);
 ```

将一个变量的值赋值另一个变量

等号左边只能一个变量名,等号的右边可以是常量,也可以是变量

int ggAge; // 声明一个哥哥的年龄变量
ggAge = 20; // 将20这个常量赋值变量ggAge
int mmAge; // 声明一个妹妹的年龄变量
mmAge = ggAge; // 将ggAge变量里面值赋值,mmAge变量

变量的使用

  • 直接使用变量名,其实就是使用变量里面数据

     int age;
    // 为age赋值
    age = 18;
    // 使用变量age,打印
    System.out.println(age); // 使用age变量,其实是使用age里面值(18)
    
  • 拼接字符串:+
    +:两边只要字符串(常量、变量),那么+就是拼接符
    3 + "5":+就是拼接符,拼接后的结果是String,35

    • "3" + 5:35
      3 + 5:8

    • String a = "5";

    • 3 + a:35

int age = 18;
// 使用字符串的拼接
System.out.println("年龄:" + age);

变量其他知识点

 int age = 18; // 声明和赋值可以连写
String color = "红色"; // 第一次赋值也叫初始化
 // 声明同种类型的多个变量
int a = 10, b = 20, c = 30, d;
int f;
System.out.println(f); // 报错,变量没有赋值,所有变量必须要赋值以后才可以使用

数据类型

  • 基本数据类型:整型,默认值0,浮点型,默认值 0.0,字符类型,默认值 ' ':空字符,布尔类型,默认值 false
  • 引用类型:默认值 null,String的默认null

变量的分类

  1. 局部变量:在方法里面声明变量就是局部变量
    使用范围(作用域):方法{}范围内,在哪个方法中声明,就只能在这个方法中使 用
    局部变量是没有默认值的
    局部变量存在栈内存中

  2. 成员变量:在方法外面声明的变量
    使用范围:在这个类所有的方法里面都可以用
    成员变量都有默认值,跟数据类型有关
    成员变量保存堆内存中

  3. 程序使用变量的顺序是:就近原则

    ​ 先局部,后成员。

public class VariableDemo6 {
    static int age = 20; // 成员变量
    public static void main(String[] args) {
        int age = 18; // 这个age就是局部变量
        // 程序使用变量的顺序是:就近原则
        System.out.println(age);
    }

}

表达式

  • 概念:java中的一个算术式

    eg:1 + 2

  • 表达式的运算规律

    • 在一个表达式中数据类型范围小于int,会发生向上转型,转到int
    • 在一个表达式中如果高于int数据类型,小范围会向上转型为大范围
    • 高于int类型的范围如果类型一样,也不会发生类型转换
byte a = 1;
byte b = 2;
// byte sum = a + b;  报错:a,b会向上转型为int,所以结果是int类型,用byte来接受会报错
---------------------------------------
int sum = a + b;//正确应该要用int类型来接收
short s = 1;
// s = s + 1; 报错:s会向上转型为int,所以结果是int类型,用short来接受会报错
---------------------------------------
int a = 1;
long l = 2L;
long sum = a + l; // l是高于int的范围,所以a会发生数据类型向上转型
---------------------------------------
byte a = 2;
//char b = a; 报错:char类型范围为0~xxx,byte类型范围为-128~127,char类型范围并未完全包括byte类型范围,所以不会自动向上转型,用short来接受会报错

标签:类型转换,变量,int,age,数据类型,byte,表达式
From: https://www.cnblogs.com/JunYuanStudy/p/17933518.html

相关文章

  • 数据类型转换&表达式&运算符总结
    总结数据类型转换概念:将数据从一种格式或结构转换为另一种格式或结构的过程。作用:节约内存空间将一些类型转换为项目所需要的类型类型转换分类自动隐式转换定义:将小的数据类型转换大的数据类型注意事项:在Java中,boolean类型与所有其他7种类型都不能......
  • Kotlin的Lambda表达式
    Kotlin中的Lambda表达式提供了一种强大且灵活的方式来定义一个匿名函数(一个没有名字的函数)。Lambda表达式在处理集合、实现事件监听器、以及其他需要简洁且专注的函数式编程场景中非常有用。以下是一些KotlinLambda表达式的示例:1.基本Lambda表达式假设我们有一个简单的需求:对......
  • Go Lang中的数据类型
    Go的数据类型可以分为,基础数据类型和派生数据类型基础数据类型数值型(int,uint,float)字符型(bype)布尔型(bool)字符串(string)派生类型指针数组结构体管道函数切片接口map基础类型的申明代码variint=1;varsstring="hello";varbboo......
  • 正则表达式语法速查
    字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,n匹配字符n。\n匹配换行符。序列\\匹配\,\(匹配(。^匹配输入字符串开始的位置。如果设置了RegExp对象的Multiline属性,^还会与"\n"或"\r"之后的位置匹配。$匹配输入字符串结尾......
  • 接口自动化测试第三天,利用类的动态方法设置全局变量
    今天的注意知识点是学会使用jsonpath,利用类的动态方法设置全局变量我们大多数情况下,接口都需要使用到登录时获取的token,为了方便使用,我们需要将登录后的token使用jsonpath表达式提取出来然后设置为全局变量首先提前下载好第三方库,jsonpath,这里给一个jsonpath官方地址和在线练习......
  • [日志] lo4j2之自定义日志格式变量
    1PatternLayout/LogEventPatternConverter:自定义日志格式及格式变量在Log4j或Logback等Java日志框架中,PatternLayout类允许你定义日志输出的格式。PatternLayout通过一系列的转换器(PatternConverter)来定义输出的样式。其中,LogEventPatternConverter(日志格式化......
  • 快速熟悉Lambda表达式
    在Java基础课程中有一个工具非常好用,但不常用就很容易忘记。大家一定已经猜到,它就是Lambda表达式,一个会者不难的工具。今天我们就来快速熟悉下Lambda表达式。1.没有Lambda表达式的编码习惯先聊一个简单的面试题,匿名内部类和多态有什么关系?相信大家都会脑补在Java基础部分的内部类知......
  • 【flink番外篇】4、flink的sink(内置、mysql、kafka、redis、clickhouse、分布式缓存、
    文章目录Flink系列文章一、maven依赖二、广播变量BroadcastVariables示例1、介绍2、广播变量示例3、验证三、BroadcastState与BroadcastVariable区别本文简单的介绍了flink中关于广播变量的简单使用示例。一、maven依赖为避免篇幅过长,所有基础依赖均在第一篇文章中列出,具......
  • 【flink番外篇】4、flink的sink(内置、mysql、kafka、redis、clickhouse、分布式缓存、
    文章目录Flink系列文章一、maven依赖二、Flinksink介绍三、sink到文件、console示例1、console输出2、sink到文件1)、sinktxt文件到hdfs上2)、sinkcsv文件到本地3)、sinktext文件到hdfs上(writeUsingOutputFormat)四、sink到socket示例(writeToSocket)五、Jdbc/mysql示例1、maven依......
  • 【flink番外篇】4、flink的sink(内置、mysql、kafka、redis、clickhouse、分布式缓存、
    文章目录Flink系列文章一、maven依赖二、分布式缓存(DistributedCache)示例1、介绍2、maven依赖3、实现4、验证1)、验证步骤2)、验证本文介绍了flink关于分布式缓存的使用示例,比较简单。本文除了maven依赖外,没有其他依赖。本示例需要hadoop环境可用。一、maven依赖为避免篇幅过长,所......