JAVA学习笔记——第三章 变量

这篇具有很好参考价值的文章主要介绍了JAVA学习笔记——第三章 变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔥博客主页: A_SHOWY
🎥系列专栏:力扣刷题总结录 数据结构  云计算  数字图像处理  力扣每日一题_ 

变量

变量是程序的基本组成单位,是内存中的一个数据存储空间。变量有三个基本要素:类型+名称+值。变量的使用,声明后赋值后即可使用

变量使用注意事项:同c++很类似

程序中+号使用:左右都是数值型的时候,做加法运算,当有其中一边是字符串的时候,做拼接运算。

数据类型

基本数据类型+引用数据类型

JAVA学习笔记——第三章 变量,java

整型细节

  1. JAVA整型常量默认值是int,声明long型常量需要在后边加l或者L
    int n1 = 1;//四个字节
    int n2 = 1L;//不对,因为先识别是long型变量不能放入int
    long n3= 1L; //匹配,正确
  2. bit:最小存储单位 byte:基本存储单位  1byte = 8bit(位)

浮点型细节

  1. 浮点数 = 符号位 + 指数位 + 尾数位
  2. 尾数可能丢失造成精度损失
  3. 默认是double类型,需要float加f
  4. double num = .123;
    System.out.prinln(num5);//0.123
    System.out.prinln(5.12e2);//512.0
    System.out.prinln(5.12E-2);/0.0512
    
    .123等价于0.123,5.12e2【5.12* 10 的2次方】5.12E-1【5.12除以10的-2次方】
  5. 浮点数使用陷阱
    double num1 = 2.7;
    double num2 = 8.1/3;//计算得到的
    System.out.prinln(num1);//2.7
    System.out.prinln(num2);//接近2.7小数
    //得到结果对小数的运算结果进行相等判断的时候,要小心
    //应该是两个数的差值绝对值在某个精度区间内判断
    System.out.prinln(Math.abs(num1 - num2));
    if(num1 == num2) System.out.prinln("相等"); //错误
    if(num1 - num2 < 0.000001) System.out.prinln("相等"); //正确
    

    matools.com   api在线文档

字符类型细节 

  1. 一个字符char,一个char两个字节4
  2. 比如当输出94的字符时,输出用94表示的字符
    char c4 = 94;//输出a
  3. char的本质是一个整数,默认输出时,是unicode码对应的字符,要输出数字,要进行(int)强制类型转换

  4. char类型可以运算

    System.out.println("a" + 10); //107
    
    char c5 = 'b' + 1;
    System.out.println((int)c5);//99
    System.out.println(c5);// c
  5. 字符类型本质探讨,字符型存储到计算机中,需要将对应码值找出来

            存储:‘'a'  ——> 码值97——>二进制(1100001)——>存储

            读取二进制(1100001)——>码值97——>’a‘——>显示

  6. 编码特性

        ASCll码由一个字节表示的,128个字符,但是一个字节表示256个字符。Unicode是ASCll扩展由两个字节表示字符,兼容ASCll码表。utf8大小可变编码,字符用一个字节,汉字用三个字节 ,可以认为是unicode码的一个改进,互联网上使用最广unicode实现方式。gbk字符用一个字节,汉字用两个字节。big5 繁体中文

布尔类型细节 

  1. 占用1个字节,适用于逻辑判断
  2. 不可以用0和非0整数代替true或者false,和c语言不同

 API在线文档下·

基本数据类型转换 

精度小的可以无误转换为精度大的

JAVA学习笔记——第三章 变量,java

自动类型转换细节 
  1. 有多种数据混合运算,系统自动转成容量最大的数据类型
  2. (byte,short)和char之间不会相互自动转换
  3.  byte,short和char三者之间可以相互计算,计算时首先转换为int类型
    char b2 = 1;
    short s1 = 1;
    short s2 = b2 + s1;//错误的运算时会提升精度到int
    
    
    
    byte c1 = 1;
    byte c2 = 2;
    byte c3 = c1 + c2;//错误,只要有运算就是int
  4. 布尔类型不参与转换

强制类型转换细节  
  1. 当进行数据精度大的到精度小的运用强制转换
  2. 强制转换符号只针对最近的数有效,可以用小括号提升优先级
  3. char可以保存int的常量值,但是不能保存int的变量值,需要强转
    char c1 = 100;
    int m = 100;
    char c2 = m;//不行
    char c3 = char(m);//可以

基本数据类型 -> string 

int n1 = 100;
double b2 = 2.2;
String str1 = n1 + "";
String str2 = b2 + "";

string -> 基本数据类型  

 保证s5格式正确,如果是字母,就会出现异常

String s5 = "123";
       // 使用基本数据类型对应的包装类的相应方法,得到基本数据类型
        int num1 = Integer.parseInt(s5);
        double num2 = Double.parseDouble(s5);
        float num3 = Float.parseFloat(s5);
        long num4 = Long.parseLong(s5);
        byte num5 = Byte.parseByte(s5);
        boolean b = Boolean.parseBoolean("true");
        short num6 = Short.parseShort(s5);

 字符串转成字符:从字符串取出第一个字符

System.out.println(s5.charAt(0));

取出以后是字符1

作业练习:

JAVA学习笔记——第三章 变量,java文章来源地址https://www.toymoban.com/news/detail-802534.html

String name = "cpy";
        int age = 22;
        double score = 100.0;
        char sex = '男';
        String hoppy = "篮球";
        System.out.println("姓名\t年龄\t成绩\t性别\t爱好\n" + name + "\t" +
                age + "\t" + score + "\t" + sex + "\t" + hoppy);

到了这里,关于JAVA学习笔记——第三章 变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Flink学习笔记》——第三章 Flink的部署模式

    不同的应用场景,有时候对集群资源的分配和占用有不同的需求。所以Flink为各种场景提供了不同的部署模式。 3.1 部署模式(作业角度/通用分类) 根据集群的 生命周期 、 资源的分配方式 、 main方法到底在哪里执行 ——客户端还是Client还是JobManager、 资源管理 将Flink的部署

    2024年02月10日
    浏览(29)
  • Django学习笔记:第三章D的路由和视图

    URL是网站Web服务的入口。用户在浏览器输入URL发出请求后,django会根据路由系统,运行对应的视图函数,然后返回信息到浏览器中。 创建项目时,会自动生成urls.文件,文件中定义了项目的路由信息,成为项目的路由解析入口。在自建的应用中可以手动配置独立的urls.py文件。

    2024年02月16日
    浏览(30)
  • 第三十三章Java快速排序法

            快速排序 (Quicksort)是对 冒泡排序 的一种改进,是一种排序执行效率很高的排序算法。         快速排序的基本思想是:通过一趟排序,将要排序的数据分隔成独立的两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再按此方法对这两部分

    2024年02月11日
    浏览(40)
  • 《现代密码学》学习笔记——第三章 分组密码 [二] AES

    版本 密钥长度 分组长度 迭代轮数 AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 (1)字节代换(SubByte) (2)行移位(ShiftRow) (3)列混合(MixColumn) (4)密钥加(AddRoundKey) 1.字节代换   字节代换是非线性变换,独立地对状态的每个字节进行。代换表(S-Box)是可逆的。   将

    2024年02月05日
    浏览(70)
  • 第三章-Java的基本程序设计结构

      3.1一个简单的Java语言程序  这是程序虽然很简单,但是所有的Java程序都具有这种结构,因此还是值得花一些时间来研究的。首先,Java区分大小写。如果出现了大小写拼写错误(例如:将main拼写成Main),程序将无法运行。 下面逐行的查看这段源代码。pubilc称为访问修

    2024年02月03日
    浏览(33)
  • 【UnityShader入门精要学习笔记】第三章(1)Unity Shader介绍

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 从本章节开始我们要学习Shader相关的知识了,诸位看客可能有的

    2024年02月02日
    浏览(46)
  • 数字图像处理第三章 学习笔记附部分例子代码(C++ & opencv)

    本系列博客参考书为, 数字图像处理第三版-冈萨雷斯 第三版教材中图片下载地址: book images downloads vs2019配置opencv可以查看:VS2019 Opencv4.5.4配置教程 后续剧情: 数字图像处理 第四章 频率域滤波 学习笔记 数字图像处理 第六章 彩色图像处理 学习笔记 数字图像处理 第七章 小

    2024年02月03日
    浏览(33)
  • 【计算机网络】学习笔记:第三章 数据链路层【王道考研】持续更新中....

    基于本人观看学习b站王道计算机网络课程所做的笔记,不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系,立删 如果本篇笔记帮助到了你,还请点赞 关注 支持一下 ♡𖥦)!! 主页专栏有更多,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持

    2024年02月01日
    浏览(40)
  • 概率第三章 二维随机变量及其分布

    目录 一、二维随机变量及其分布 1、二维随机变量 2、二维离散型随机变量(X,Y) 3、二维连续型随机变量(X,Y) 二、二维随机变量的独立性 三、二维均匀分布和二维正态分布 二维均匀分布 二维正态分布 四、二个随机变量函数Z=g(X,Y)的分布 X、Y均为离散型随机变量: X、Y均为连续

    2024年02月09日
    浏览(46)
  • 【UnityShader入门精要学习笔记】第三章(2)Unity Shader的形式,章节答疑

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 (该系列笔记中大多数都会复习前文的知识,特别是前文知识非

    2024年02月02日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包