Java 学习(02)--数据类型/类型转换/键盘录入

简介: Java 学习(02)数据类型1.在Java中针对整数常量提供了四种表现形式       A:二进制 由0,1组成。以 0b 开头。

Java 学习(02)

数据类型

1.在Java中针对整数常量提供了四种表现形式

       A:二进制 由0,1组成。以 0b 开头。
B:八进制 由0,1,...7组成。以 0 开头。
C:十进制 由0,1,...9组成。整数默认是十进制。
D:十六进制 由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以 0x 开头。

2.进制转换(了解)

(1)其他进制到十进制
系数:就是每一个位上的数值
基数:x进制的基数就是x
权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
结果:系数*基数^权次幂之和。
     举例:16进制 0x4af转换成10进制
    0x4af --转换10进制--> 15 + 10 * 16 + 4 * 16^2
(2)十进制到其他进制
除基取余,直到商为0,余数反转。

3:变量(掌握)

(1)定义:1.占据着内存中的某一个存储区域 ; 

      2.该区域有自己的名称(变量名)和类型(数据类型) ; 

      3.该区域的数据可以在同一类型范围内不断变化 ; 

(2)使用原因:用来不断的存放同一类型的常量,并可以重复使用;

(3)变量的定义格式:
A:数据类型 变量名 = 初始化值;
B:数据类型 变量名;
 变量名 = 初始化值;

4:数据类型(掌握)

(1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。
(2)分类:
A:基本数据类型:4类8种
B:引用数据类型:类,接口,数组。
(3)基本数据类型
A:整数 占用字节数
byte 1
short 2
int 4

long 8


B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
boolean 1



注意: 整数默认是int类型,浮点数默认是double。

    长整数要加L或者l。

    单精度的浮点数要加F或者f。

类型转换

5:数据类型转换(掌握)

(1)boolean类型不参与转换
(2)默认转换(向上转换)
A:从小到大。整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型可自动转换为容量大的数据类型。 

B:byte,short,char -- int -- long -- float -- double。

     byte ,short ,char 之间不会相互转换,他们在计算时首先会转换为 int 类型。 

C:byte,short,char之间不相互转换,直接转成 int 类型参与运算。

int i = 123; long l = i;// 自动转换,不需强转
float f = 3.14F; 
double d = f; 
(3)强制转换(向下转换)
A:从大到小
B:可能会有精度的损失,一般不建议这样使用。

C:格式:目标数据类型 变量名 = (目标数据类型) (被转换的数据);

long l = 123L; 
int i = (int) l;// 必须强转
double d = 3.14; 
float f = (float) d; 


总结 : 类型转化 小转大 , 自动 ! 自动类型转换 ( 也叫隐式类型转换 ) 

            大转小 , 强转 ! 强制类型转换 ( 也叫显式类型转换 )

(4)思考题和面试题:
A:下面两种方式有区别吗?
float f1 = 12.345f;

float f2 = (float)12.345;

答:f1 其实是通过一个 double 类型转换过来的。 而 f2 本身就是一个 float 类型。

     B:下面的程序有问题吗,如果有,在哪里呢?

byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;  // 错

byte b4 = 3 + 4;    // 正确  

答:因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题。 常量相加, 首先做加法, 然后看结果是否在赋值的数据类型范围内,如果不是才报错。 

C:下面的操作结果是什么呢?

byte b = (byte)130;  //-126 

答:计算方法: b=-(128-(130-128)) 

D:字符参与运算
是查找ASCII里面的值
'a' 97
'A' 65
'0' 48
System.out.println('a');  //a 
System.out.println('a' + 1);  //98 
E:字符串参与运算
这里其实是字符串的连接
System.out.println("hello"+'a'+1);  //helloa1 
System.out.println('a'+1+"hello");  //98hello 
System.out.println("5+5="+5+5);    //5+5=55 

System.out.println(5+5+"=5+5");    //10=5+5 

6:键盘录入(掌握)

(1)实际开发中,数据是变化的,为了提高程序的灵活性,我们加入键盘录入数据。
(2)如何实现呢?目前就记住
A:导包
import java.util.Scanner;
位置:在class的上边
B:创建对象
Scanner sc = new Scanner(System.in);
C:获取数据
int x = sc.nextInt();

(3)把三元运算符的案例加入键盘录入改进。

示例:

import java.util.Scanner;
class Year{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入年份");
		int a = in.nextInt();
	    String d ;
		if((a%4==0 && a%100!=0) || a%400==0){
			System.out.println("该年是闰年");
		}else{
			System.out.println("该年不是闰年");
		}
	}
}
//闰年条件:1.能整除4且不能整除100 2.能整除400

目录
相关文章
|
21天前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
221 1
|
20天前
|
安全 Java 编译器
Java类型提升与类型转换详解
本文详解Java中的类型提升与类型转换机制,涵盖类型提升规则、自动类型转换(隐式转换)和强制类型转换(显式转换)的使用场景与注意事项。内容包括类型提升在表达式运算中的作用、自动转换的类型兼容性规则,以及强制转换可能引发的数据丢失和运行时错误。同时提供多个代码示例,帮助理解byte、short、char等类型在运算时的自动提升行为,以及浮点数和整型之间的转换技巧。最后总结了类型转换的最佳实践,如避免不必要的转换、使用显式转换提高可读性、金融计算中使用BigDecimal等,帮助开发者写出更安全、高效的Java代码。
|
28天前
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
2月前
|
并行计算 Java API
Java 基础篇完整学习攻略
本教程涵盖Java基础到高级内容,包括模块化系统、Stream API、多线程编程、JVM机制、集合框架及新特性如Records和模式匹配等,适合零基础学员系统学习Java编程。
68 0
|
2月前
|
前端开发 Java API
新手 Java 学习资料结合最新技术的精选推荐及高效学习资源参考
本文为新手推荐了涵盖Java基础到最新技术的学习资料,包括官方文档、在线课程、书籍、学习网站及实践平台,帮助系统掌握Java编程,并通过Spring Boot实战提升开发能力。
107 1
|
2月前
|
NoSQL Java 数据库
Java 全栈学习超全面知识图谱构建完整 Java 知识体系
本文全面讲解Java核心技术体系,涵盖基础语法、面向对象、集合框架、主流框架(Spring、Spring Boot、MyBatis)及三大实战项目(微服务电商、响应式博客、企业后台系统),助你系统掌握Java全栈开发技能。
163 1
|
1月前
|
存储 搜索推荐 安全
Java 大视界 --Java 大数据在智能教育学习效果评估与教学质量改进中的应用(209)
本文探讨了 Java 大数据在智能教育中的创新应用,涵盖学习效果评估、教学质量改进及个性化教学方案定制等内容,结合实战案例与代码解析,展现技术如何赋能教育智能化转型。
|
2月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
102 0
|
存储 安全 Java
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
155 1
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法

热门文章

最新文章