Java学习笔记(三)

目录

一、字符类型

二、布尔类型

三、基本数据类型转换

3.1 自动类型转换

3.2 强制类型转换

3.3 基本数据类型和String类型的转换


一、字符类型

字符类型可以表示单个字符,字符类型是char。

多个字符我们用字符串String。

字符和码值的对应关系是通过字符编码表决定的

常见字符编码如下:

  • ASCII:一个字节表示,一共128个字符(缺点:不能表示所有字符)
  • Unicode:固定大小的编码 使用两个字节来表示字符,字母和汉字统一都是占用两个字节,这样浪费空间
  • utf-8:大小可变的编码 字母使用1个字节,汉字使用3个字节
  • gbk:可以表示汉字,而且范围广,字母使用1个字节,汉字2个字节
  • gb2312:可以表示汉字,gb2312 < gbk
  • big5码:繁体中文,台湾,香港

二、布尔类型

布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null值。boolean类型占1个字节,适用于逻辑运算,一般用于程序流程控制。

细节:不可以用0或其他数字替代false或true

三、基本数据类型转换

3.1 自动类型转换

当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型。

此图重要,建议背下来

  1. 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后进行计算;
  2. 当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错,繁殖就会进行自动类型转换;
  3. byte、short、char之间不会相互自动转换;
  4. byte、short、char他们三者可以计算,在计算时统一转为int类型;
  5. boolean不参与转换;
  6. 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。

3.2 强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意。

  1. 当进行数据的大小从 大——>小,就需要使用到强制转换;
  2. 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级;
  3. char类型可以保存int的常量值,但不能保存int的变量值,需要强转;
  4. byte和short类型在进行运算时,当做int类型处理。
int x = (int)10*3.5+6*3.5;//错误
int x = (int)(10*3.5+6*3.5);//正确
---------------------------------------------------
char c1 = 100;
int m = 100;
char c2 = m;//错误
char c2 = (char)m;//正确
System.out.println(c2);

3.3 基本数据类型和String类型的转换

在程序开发中,我们经常需要将基本数据类型转成String类型,或者将String类型转成基本数据类型。

  • 基本数据类型 -> String
int n1 = 100;
fLoat f1 = 1.1F;
double d1 = 4.5;
booLean b1 = true;
String s1 = n1 + "";
String s2 = f1 + "";
String s3 = d1 + "";
String s4 = b1 + "";
System.out.println(s1 + " " +s2 + " " + s3 + " " + s4);
  • String -> 基本数据类型
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);
  1. 在将String类型转成基本数据类型时,要确保String类型能够转成有效的数据,比·如我们可以把"123”,转成一个整数,但是不能把“hello”转成一个整数;
  2. 如果格式不正确,就会抛出异常,程序就会终止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/466942.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在PDF 文件中删除页面?

查看不同的工具以及解释如何在 Windows、Android、macOS 和 iOS 上从 PDF 删除页面的步骤&#xff1a; PDF 是最难处理的文件格式之一。曾经有一段时间&#xff0c;除了阅读之外&#xff0c;无法用 PDF 做任何事情。但是今天&#xff0c;有许多应用程序和工具可以让您用它们做…

爬虫系列-web请求全过程剖析

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” 上一小节我们实现了一个网页的整体抓取工作&#xff0c;那么本小节&#xff0c;给各位好好剖析一下web请求的全部过程&#xff0c;这样有助于后面我们遇到的各种各样的网站就有了入手…

C# CAD交互界面-自定义面板集-查找定位(六)

运行环境 vs2022 c# cad2016 调试成功 一、代码说明 1. 类成员变量声明&#xff1a; List<ObjectId> objectIds new List<ObjectId>(); // 用于存储AutoCAD实体对象的ObjectId列表 private static Autodesk.AutoCAD.Windows.PaletteSet _ps2; // 自定义浮动面板…

C++ //练习 5.12 修改统计元音字母的程序,使其能统计以下含有两个字符的字符序列的数量:ff、fl和fi。

C Primer&#xff08;第5版&#xff09; 练习 5.12 练习 5.12 修改统计元音字母的程序&#xff0c;使其能统计以下含有两个字符的字符序列的数量&#xff1a;ff、fl和fi。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /****…

matlab入门,在线编辑,无需安装matab

matlab相关教程做的很完善&#xff0c;除了B站看看教程&#xff0c;官方教程我觉得更加高效。跟着教程一步一步编辑&#xff0c;非常方便。 阅读 MATLAB 官方教程&#xff1a; MATLAB 官方教程提供了从基础到高级的教学内容&#xff0c;内容包括 MATLAB 的基本语法、数据处理…

探索ChatGPT-4:智能会话的未来已来

深入了解ChatGPT-4&#xff1a;前沿AI的强大功能 ChatGPT-4是最先进的语言模型之一&#xff0c;由OpenAI开发&#xff0c;它在自然语言理解和生成方面的能力已经达到了新的高度。如今&#xff0c;ChatGPT-4已经被广泛应用于多个领域&#xff0c;从教育到企业&#xff0c;再到技…

python适配器模式开发实践

1. 什么是适配器设计模式&#xff1f; 适配器&#xff08;Adapter&#xff09;设计模式是一种结构型设计模式&#xff0c;它允许接口不兼容的类之间进行合作。适配器模式充当两个不兼容接口之间的桥梁&#xff0c;使得它们可以一起工作&#xff0c;而无需修改它们的源代码。 …

最新在线看4K高清电影网站推荐

随着互联网技术的发展&#xff0c;观看高清电影已经不再是难事。这里我为大家分享几个最新的在线看4K高清电影网站&#xff0c;让您在家就能享受到极致观影体验。 通过下面这个即可 1. 【超清影视】 【超清影视】是国内新兴的4K高清电影网站&#xff0c;拥有海量的影片资源&a…

Netty源码系列 之 FastThreadLocal源码

目录 Netty优化方案之 FastThreadLocal 前言 ThreadLocal ThreadLocal是干什么的&#xff1f; 为什么要使用ThreadLocal工具类去操控存取目标数据到Thread线程 &#xff1f; ThreadLocal的使用场景 目标数据存储到Thread线程对象的哪里&#xff1f; 怎么样把一个目标数据…

【Java程序设计】【C00251】基于Springboot的医院信息管理系统(有论文)

基于Springboot的医院信息管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的医院信管系统 本系统分为管理员功能模块、系统功能模块以及医生功能模块。 系统功能模块&#xff1a;医院信管系统&#xff0c;…

如何在C# Windows Forms应用程序中实现控件之间的连接线

帮我实现绘图工具多个控件连接线&#xff0c;请用c#代码实现 实现绘图工具中多个控件之间的连接线功能&#xff0c;可以通过以下几个步骤来进行&#xff1a; 定义连接线的数据模型&#xff1a;首先需要定义一个模型来表示连接线&#xff0c;这个模型应该包含起点和终点的坐标。…

Ubuntu Desktop - Disks

Ubuntu Desktop - Disks 1. Search your computer -> DisksReferences 1. Search your computer -> Disks ​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/