-
java基础笔记-变量和数据类型
单个字节范围 -128~ 127
java 语言中描述整数的数据类型有:byte,short,int,long,推荐使用int
int的表示范围 -2^31~2^31-1
直接写出的数字叫直接量、常量,字面值,默认是int类型
编译 javac xxx.java java xxx
/* 编程实现变量的声明和使用 */ public class VarTest { public static void main(String[] args) { // 1.声明一个变量并初始化 数据类型 变量名 = 初始值; int age = 18; // 2.打印变量的数值 + 字符串连接符 用于将两边的内容拼接/连接起来结果还是字符串 System.out.println("age = " + age); // age = 18 System.out.println("-----------------------------------------------------"); // 3.使用变量的注意事项 // 3.1 使用变量之前需要声明 // System.out.println("name = " + name); // 错误: 找不到符号 // 3.2 使用变量之前需要初始化 //String name; //System.out.println("name = " + name); // 错误: 可能尚未初始化变量name String name = "奇点"; System.out.println("name = " + name); // name = 奇点 // 3.3 变量不能重复声明 //int age = 17; // 错误: 已在方法 main(String[])中定义/声明了变量 age int aGe = 17; int fjakjf3fjdlakjfa7987jfkdajlkf2427897fdjafjalkl89809fdjafjlj = 10; int 年龄 = 16; } }
标识符 一般使用字母 ,区分大小写
/*
编程实现变量的输入输出
*/
// 导入java目录中util目录的Scanner类
import java.util.Scanner;
public class VarIOTest { public static void main(String[] args) { // 1.声明两个变量用于记录姓名和年龄信息 //String name; //int age; // 2.提示用户从键盘输入姓名和年龄信息并放入到变量中 变量随使用随声明 System.out.println("请输入您的姓名和年龄信息:"); // 创建一个扫描器来扫描键盘输入的内容 System.in代表键盘输入 Scanner sc = new Scanner(System.in); // 通过扫描器读取一个字符串数据放入变量name中 String name = sc.next(); // 通过扫描器读取一个整数数据放入变量age中 int age = sc.nextInt(); // 3.打印变量的数值 尽可能减少重复的代码 //System.out.println("name = " + name); //System.out.println("age = " + age); System.out.println("name = " + name + ", age = " + age); } }
基本数据类型:
byte,short,int,long,float,double,boolean,char
引用数据类型
数组 ,类,接口,枚举,标注
/* 编程实现整数类型的使用 */ public class IntTest { public static void main(String[] args) { // 1.声明一个byte类型的变量并初始化 byte b1 = 25; //byte b1 = 250; // 错误: 不兼容的类型: 从int转换到byte可能会有损失 250这样直接写出的整数数据叫做直接量/常量/字面值 默认为int类型 // 2.打印变量的数值 System.out.println("b1 = " + b1); // b1 = 25 System.out.println("---------------------------------------------"); // 3.声明一个short类型的变量并初始化 short s1 = 250; //short s1 = 250250; // 错误:不兼容的类型:从int转换到short可能会有损失 System.out.println("s1 = " + s1); // s1 = 250 System.out.println("---------------------------------------------"); // 4.声明一个int类型的变量并初始化 int i1 = 250250; //int i1 = 2502505006; // 错误: 整数太大 默认为int类型,这个数据自身已经出错,无法表示 //int i1 = 2502505006L; // 错误:不兼容的类型:从long转换到int可能会有损失 System.out.println("i1 = " + i1); // i1 = 250250 System.out.println("---------------------------------------------"); // 5.声明一个long类型的变量并初始化,若描述比long类型还大的数据则使用java.math.BigInteger类型 long g1 = 2502505006L; System.out.println("g1 = " + g1); // g1 = 2502505006 System.out.println("---------------------------------------------"); // 6.请问下面的代码是否有错误?若有请指出并说明原因 //int i2 = 25; //byte b2 = i2; // 错误: 不兼容的类型: 从int转换到byte可能会有损失 //System.out.println("b2 = " + b2); } }
float 占 4个字节,可以表示7位有效数字,包含整数部分
double 类型占8个字节,可以表示15位有效数字
小数默认是double类型
/* 编程实现浮点类型的使用 */ public class DoubleTest { public static void main(String[] args) { // 1.声明一个float类型的变量并初始化 //float f1 = 3.1415926; // 错误: 不兼容的类型: 从double转换到float可能会有损失 小数数据叫做直接量,默认为double类型 float f1 = 3.1415926f; // 2.打印变量的数值 System.out.println("f1 = " + f1); // f1 = 3.1415925 一般是7位有效数字 System.out.println("---------------------------------------------------------"); // 3.声明一个double类型的变量并初始化 double d1 = 3.1415926; System.out.println("d1 = " + d1); // d1 = 3.1415926 一般是15位有效数字 System.out.println("---------------------------------------------------------"); // 4.笔试考点 System.out.println(0.1 + 0.2); // 0.30000000000000004 运算时可能会有误差,若希望实现精确运算则借助java.math.BigDecimal类型 } }
boolean 用来描述真假信息,数值 true false
/* 编程实现布尔类型的使用 */ public class BooleanTest { public static void main(String[] args) { // 1.声明一个boolean类型的变量并初始化 boolean b1 = true; // 2.打印变量的数值 System.out.println("b1 = " + b1); // b1 = true System.out.println("-------------------------------------------"); // 3.修改变量b1的数值 = 赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量中原来的数值 b1 = false; System.out.println("b1 = " + b1); // b1 = false System.out.println("-------------------------------------------"); //b1 = 1; // 错误: 不兼容的类型: int无法转换为boolean } }
char类型占2个字节,范围0-65535,用来描述单个字符
/* 编程实现字符类型的使用 */ public class CharTest { public static void main(String[] args) { // 1.声明一个char类型的变量并初始化 char c1 = 'a'; // 2.打印变量的数值 System.out.println("c1 = " + c1); // c1 = a System.out.println("对应的编号是:" + (int)c1); // 表示将char类型的c1强制转换为int类型并打印 97 System.out.println("-------------------------------------------------------------------------"); // 2.声明一个char类型的变量并初始化 char c2 = 98; System.out.println("c2 = " + c2); // c2 = b System.out.println("对应的编号是:" + (int)c2); // 98 System.out.println("-------------------------------------------------------------------------"); // 3.使用Unicode字符集来表示一下我的名字 奇点 对应的编号是: \u5947\u70b9 char c3 = '\u5947'; char c4 = '\u70b9'; System.out.println("最终的结果是:" + c3 + c4); // 奇点 System.out.println("-------------------------------------------------------------------------"); // 4.特殊字符的使用 双引号本身有2个含义:a.字符串的开头和结尾标志 b.双引号自身 \ 转义就是转换原有的含义 System.out.println("我想过过\"过过过过的生活!"); // \" - " System.out.println("我想过过\'过过过过的生活!"); System.out.println("我想过过\\过过过过的生活!"); System.out.println("我想过过\t过过过过的生活!"); System.out.println("我想过过\n过过过过的生活!"); } }
常见ascii :
‘0’ 48 , ‘A’ 65 ,‘a’ 97 , 空格 32 ,换行符 10
自动类型转换 :小类型转大类型
long 类型2^63 -1
float 类型 10^38
= 赋值运算符
/* 编程实现基本数据类型之间转换的使用 */ public class TransformTest { public static void main(String[] args) { // 1.声明两个变量并初始化 byte b1 = 10; short s1 = 20; // 2.打印变量的数值 System.out.println("b1 = " + b1); // b1 = 10 System.out.println("s1 = " + s1); // s1 = 20 System.out.println("----------------------------------------------"); // 3.实现自动类型转换的使用 // 表示将变量b1的数值赋值给变量s1,并覆盖变量s1中原来的数值,相当于从byte类型到short类型的转换,小到大 自动转换 s1 = b1; System.out.println("b1 = " + b1); // b1 = 10 System.out.println("s1 = " + s1); // s1 = 10 System.out.println("----------------------------------------------"); // 4.实现强制类型转换的使用 // 表示将变量s1的数值赋值给变量b1,并覆盖变量b1中原来的数值,相当于从short类型到byte类型的转换,大到小 强制转换 //b1 = s1; // 错误: 不兼容的类型: 从short转换到byte可能会有损失 s1 = 128; // 故意加该行代码 128:0000 0000 1000 0000 => 1000 0000 => 0111 1111 => 1000 0000 => 128 => -128 b1 = (byte)s1; System.out.println("b1 = " + b1); // b1 = 10 -128 System.out.println("s1 = " + s1); // s1 = 10 128 } }
文章来自拉勾教育 大数据开发
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比