版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计语言概述2.2基本数据类型与数据类型转换2.2常用数据类型
计算机中要存储数字、文字、图像、声音等信息时,首先要确定信息的种类。
这个种类就是数据类型。不同的数据类型在内存中的存储方式是不同的,所占内存的大小也不一样。Java的数据类型分为基本数据类型和引用数据类型。01基本数据类型01基本数据类型
基本数据类型也称为简单数据类型。Java语言提供了八种基本数据类型,
分别是byte、short、int、long、float、double、char、boolean,这8种基本数据类型习惯上分为四大类型。
整数类型:byte、short、int、long
浮点类型:float、double
逻辑类型:boolean
字符类型:char基本数据类型如表2-2所示。表2-2Java基本数据类型02引用数据类型02引用数据类型
引用数据类型是除了以上八种基本数据类型之外的类型,包括类、接口、数组、枚举等。现在介绍一个Java语言常用的引用数据类型-String类。
在应用程序中经常要用到一连串字符,
比如要表示商品的名称、学生姓名等。这一连串字符即为字符串,String类是Java语言提供用来操作字符串的类。后续将会介绍String类的使用,
并在第七章Java常用实用类进行详细讲解。03
数据类型转换03数据类型转换
由编译器自动完成,无需手动操作,通常发生在取值范围小的类型向取值范围大的类型转换时。
需要程序员显式声明,将大范围类型转换为小范围类型,可能会导致精度丢失或数据溢出。0102自动类型转换强制类型转换
在Java中,数据类型转换指的是将一个数据类型转换为另一个数据类型。Java中数据类型转换分为两种:自动类型转换(隐式转换)和强制类型转换(显式转换)。03数据类型转换算术运算
当不同的数值类型参与运算时,它们首先会被提升到较大的数据类型(通常是int到long,float到double等),然后再进行计算。例如,byte+int
会先将byte提升为int,然后进行加法运算。赋值
当把一种类型的值赋给另一种类型的变量时,如果目标类型为较大的类型,会发生显式类型转换,否则如果是从较小类型到较大类型的转换,则为隐式转换。方法调用
当方法参数或返回值的数据类型与局部变量或对象属性不匹配时,也可能需要进行类型转换。类型转换发生在以下情况:03数据类型转换
隐式类型转换发生在较小的数据类型自动转换为较大的数据类型时,而不需要显式的代码来执行这种转换。这种转换是自动进行的,目的是为了数据安全和避免数据丢失。转换规则如下:
满足“小类型
→
大类型”的方向(例如int→long)。
转换方向:byte→short→int→long→float→doublechar→int→long→float→double注意:char和byte/short之间不能自动转换(需强制转换)。例如:inta=100;longb=a;//自动转换:int→longfloatc=3.14f;doubled=c;//自动转换:float→doublecharch='A';intcode=ch;//自动转换:char→int(输出字符Unicode值65)自动类型转换(隐式转换)03数据类型转换
显式类型转换发生在需要将较大的数据类型转换为较小的数据类型时。这种转换可能会导致数据的精度损失或溢出,因此需要程序员明确地进行这种转换。显式类型转换的格式如下:(目标类型)要转换的数据例如:doublex=123.456;inty=(int)x;//强制转换:结果为123(舍弃小数部分)longnum=100000L;shorts=(short)num;//强制转换:可能导致溢出(需确保数值在short范围内)byteb=(byte)130;//溢出示例:byte范围是-128~127,输出值为-126强制类型转换(显式转换)05
输入与输出05输入与输出Java中的流(stream)是字符或字节的集合,Java程序中对数据的输入和输出操作是以流的方式进行的。
比如从键盘输入数据,
将结果输出到显示器等都看作是流的处理。05输入与输出从控制台输出信息
在程序设计中,
我们需要将提示信息、运算结果等输出到显示器上,
打印流PrintStream类是Java类库中输出信息最方便的类,
该类提供了println()方法和print()方法,
可以输出各种数据类型的数据。
系统类System中定义了PrintStream类的对象out,
调用print()方法、println()方法和printf()方法,
可实现将括号中的内容打印在标准输出设备(显示器)上。1.System.out.print()方法打印输出信息后不换行,例如:Stringname="张红";charsex='女';intage=17;System.out.print(name);System.out.print(sex);System.out.print(age);运行结果为:张三女172.System.out.println()方法换行输出打印完输出信息后自动换行。
例如:System.out.println("张红");System.out.println("女");运行结果为:张三女05输入与输出3.使用转义符(1)\n:将光标移动到下一行的第一格。
例如:System.out.print("张红\n");System.out.print("女");运行结果为:张三女(2)\t:将光标移动到下一个水平制表位置。
例如:System.out.print("张红\t");System.out.print("女");运行结果为:张红女4*.使用printf()方法格式化输出printf()用于格式化输出,支持精确控制数据格式。语法如下:System.out.printf("格式字符串",参数1,参数2,...);格式字符串是包含格式说明符(如%s,%d)和普通文本的字符串;参数按顺序对应格式说明符,参数类型必须匹配格式说明符。05输入与输出
我们编写的程序通常都需要用户来输入数据,
比如我们日常使用的QQ、微信等社交软件,
都是需要我们先输入个人的用户名和密码,
然后再判断用户名和密码是否正确来确定是否允许你登陆。Java5新增的一个类Scanner,
位于java.util包中。
我们可以通过该类来读取用户输入的各种类型的数据。
要使用Scanner对象来获取用户的输入,
必须创建Scanner类的对象,
格式为:Scannerscanner=newScanner(System.in);System.in是标准输入流,默认情况下,通过键盘输入数据,根据需要输入不同数据类型的数据,
使用不同的方法来获取。
表2-4给出数据类型对应的方法。06项目演练06项目演练项目名称:个人信息调查项目目标:在这个程序中,用户将输入自己的姓名、年龄(整型)、身高(浮点型)、体重(浮点型)以及是否喜欢编程(布尔型),然后程序将输出这些信息,并尝试进行一些简单的数据转换和计算,比如计算BMI(身体质量指数)。06项目演练importjava.util.Scanner;publicclassPersonalInfoSurvey{publicstaticvoidmain(String[]args){//创建Scanner对象用于接收用户输入
Scannerscanner=newScanner(System.in);//声明变量存储个人信息
Stringname;intage;doubleheight;//假设用户输入的是以米为单位
doubleweight;booleanlikesProgramming;//输入个人信息
System.out.print("请输入您的姓名:");name=scanner.nextLine();System.out.print("请输入您的年龄:");age=Integer.parseInt(scanner.nextLine());System.out.print("请输入您的身高(米):");height=Double.parseDouble(scanner.nextLine());System.out.print("请输入您的体重(公斤):");weight=Double.parseDouble(scanner.nextLine());System.out.print("您是否喜欢编程?(是/否):");
StringprogrammingPreference=scanner.nextLine();likesProgramming="是".equals(programmingPreference);//计算BMIdoublebmi=weight/(height*height);//输出个人信息和BMISystem.out.println("\n个人信息:");System.out.println("姓名:"+name);System.out.println("年龄:"+age);System.out.printf("身高:%.2f米\n",height);System.out.printf("体重:%.2f公斤\n",weight);System.out.println("喜欢编程:"+(likesProgramming?"是":"否"));//根据BMI分类输出健康状况(简单示例)
if(bmi<18.5){System.out.println("BMI:"+bmi+"(体重过轻)");}elseif(bmi<24.9){System.out.println("BMI:"+bmi+"(正常范围)");}elseif(bmi<29.9){System.out.println("BMI:"+bmi+"(体重过重)");}else{System.out.println("BMI:"+bmi+"(肥胖)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软文投放平台:2026年企业软文投放渠道策略与ROI提升方法论
- 优化资源配置提高工作效率效益
- 在线收款服务指南
- 安全阀整定压力在线校验可采用加载检测方法
- 2026秋部编版九年级语文上册第一单元第3课《我爱这土地》教学课件
- 邵阳大祥 2026 年皮具箱包加工厂普工入职理论试题 招聘 48 人
- 山西综改示范区 2026 产业发展岗公务员招录理论考卷 招聘 8 人
- 在线健身行业健身直播课程用户互动功能设计用户参与度影响机制实验研究方法
- 某建筑公司劳动纪律准则
- 医药公司临床试验制度
- 2026年疾病预防控制中心招聘考试笔试试题含答案
- 2026冶炼厂面试题及答案
- 课堂英语教师口语用语200句
- 中小学生日常行为规范暨教育惩戒实施细则
- 四年级数学(简便运算)计算题专项练习与答案
- 2026富邦华一银行成都分行社会招聘笔试参考题库及答案详解
- 2026年高考政治真题完全解读(黑吉辽蒙卷)
- 电厂运行事故处理操作要点培训课件
- 预埋螺栓施工方案
- 2026年山东省济宁市重点学校小升初入学分班考试语文考试试题及答案
- 2026年农作物植保员职业技能竞赛模拟题库及参考答案详解(培优A卷)
评论
0/150
提交评论