变量

概念
变量是程序的基本组成单位。变量相当于内存中一个数据存储空间的表示,可以把变量看作一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
三个基本要素:类型 + 名称 + 值
变量使用基本步骤
1.声明变量
int a;
2.给变量赋值
a = 60;
3.使用变量

public class UseOfVar01 { //编写一个main方法public static void main(String[] args) {//声明变量int a;a = 100;System.out.println(a); //另一种使用方法int b = 800;System.out.println(b); }
}

用不同的数据类型表示:

public class UseOfVar02 { //编写一个main方法public static void main(String[] args) {//记录人的信息int age = 30;double score = 88.9;char gender = '男';String name = "king";//输出信息, 快捷键System.out.println("人的信息如下:");System.out.println(name);System.out.println(age);System.out.println(score);System.out.println(gender);}
}

变量的使用注意事项
1.变量表示内存中的一个存储区域(不同的变量,类型不同,占用的空间大小不同,例如:int 4个字节,double 8个字节)
2.变量需要先声明,后使用
3.变量在同一个作用域内不能重名

程序中 +号的使用
1.当左右两边都是数值型时,则做加法运算
2.当左右两边有一方为字符串时,则做拼接运算
3.运算顺序,从左到右

数据类型


整数类型


public class IntDetail { //编写一个main方法public static void main(String[] args) {//Java的整型常量(具体值)默认为 int 型,声明long型常量须后加‘l’或‘L’int n1 = 1;//4个字节//int n2 = 1L;//错误long n3 = 1L;//对}
}

浮点类型


1.浮点数的构成:浮点数 = 符号位 + 指数位 + 尾数位
2.尾数部分可能丢失,造成精度损失(小数都是近似值)

浮点型使用细节


public class FloatDetail { //编写一个main方法public static void main(String[] args) {//Java 的浮点型常量(具体值)默认为double型,声明float型常量,须后加‘f’或‘F'//float num1 = 1.1; //对不对?错误float num2 = 1.1F; //对的double num3 = 1.1; //对double num4 = 1.1f; //对,相当于把小的空间放进一个大的空间,是可以的//十进制数形式:如:5.12       512.0f        .512   (必须有小数点,0可以省略)double num5 = .123; //等价于 0.123System.out.println(num5);//科学计数法形式:如:5.12e2 [5.12 * 10的2次方 ]      5.12E-2   [5.12/10的2次方] System.out.println(5.12e2);//512.0System.out.println(5.12E-2);//0.0512//通常情况下,应该使用double型,因为它比float型更精确。//[举例说明]double num9 = 2.1234567851;float num10 =  2.1234567851F;double num9 =  2.1234567851;float num10 =  2.1234567851F;System.out.println(num9);//输出结果:2.1234567851System.out.println(num10);//输出结果:2.1234567//浮点数使用陷阱: 2.7 和 8.1 / 3  比较double num11 = 2.7;double num12 = 8.1 / 3; //2.7System.out.println(num11);//2.7System.out.println(num12);//接近2.7的一个小数,而不是2.7//得到一个重要的使用点: 当我们对运算结果是小数的进行相等判断时,要小心//应该是以两个数的差值的绝对值,在某个精度范围类判断if( num11 == num12) {System.out.println("num11 == num12 相等");}//正确的写法 , ctrl + / 注释快捷键, 再次输入就取消注释if(Math.abs(num11 - num12) < 0.000001 ) {System.out.println("差值非常小,到我的规定精度,认为相等...");}// 可以通过java API  来看 下一节如何使用APISystem.out.println(Math.abs(num11 - num12));//细节:如果是直接查询得的的小数或者直接赋值,是可以判断相等}
}

Java API 文档

API 中文在线文档点击查看

Java类的组成形式

字符类型(char)

字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字),多个字符我们用字符串String.


public class Char01 { //编写一个main方法public static void main(String[] args) {char c1 = 'a';char c2 = '\t';char c3 = '韩';char c4 = 97; //说明: 字符类型可以直接存放一个数字System.out.println(c1);System.out.println(c2);System.out.println(c3);System.out.println(c4);//当输出c4时候,会输出97表示的字符 => 编码的概念}
}

字符类型使用细节

Unicode编码转换点击查看


public class CharDetail { //编写一个main方法public static void main(String[] args) {//在java中,char的本质是一个整数,在默认输出时,是unicode码对应的字符//要输出对应的数字,可以(int)字符char c1 = 97;System.out.println(c1); // 此时 输出的是achar c2 = 'a'; //输出'a' 对应的 数字System.out.println((int)c2);char c3 = '韩';System.out.println((int)c3);//38889char c4 = 38889;System.out.println(c4);//韩//char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.System.out.println('a' + 10);//107//课堂小测试char c5 = 'b' + 1;//98+1==> 99System.out.println((int)c5); //99System.out.println(c5); //99->对应的字符->编码表ASCII(规定好的)=>c}
}

字符类型的本质

布尔类型

public class Boolean01 { //编写一个main方法public static void main(String[] args) {//演示判断成绩是否通过的案例//定义一个布尔变量boolean isPass = true;//if(isPass == true) {System.out.println("考试通过,恭喜");} else {System.out.println("考试没有通过,下次努力");}}
}

使用细节说明
不可以用0或非0 的整数代替 false 和 true,这点和C语言不同。

基本数据的转换

public class AutoConvert { //编写一个main方法public static void main(String[] args) {//演示自动转换int num = 'a';//正确,char -> intdouble d1 = 80; //正确, int -> doubleSystem.out.println(num);//97System.out.println(d1);//80.0}
}

自动类型转换注意和细节

//自动类型转换细节
public class AutoConvertDetail { //编写一个main方法public static void main(String[] args) {//细节1: 有多种类型的数据混合运算时,//系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算int n1 = 10; //ok//float d1 = n1 + 1.1;//错误 n1 + 1.1 => 结果类型是 double(浮点小数1.1,默认类型是double) //double d1 = n1 + 1.1;//对 n1 + 1.1 => 结果类型是 doublefloat d1 = n1 + 1.1F;//对 n1 + 1.1 => 结果类型是 float//细节2: 当我们把精度(容量)大 的数据类型赋值给精度(容量)小 的数据类型时,//就会报错,反之就会进行自动类型转换。//int n2 = 1.1;//错误 double -> int //细节3: (byte, short) 和 char之间不会相互自动转换//当把具体数赋给 byte 时,(1)先判断该数是否在byte范围内,如果是就可以byte b1 = 10; //对  , byte 范围是  -128-127// int n2 = 1; //n2 是int // byte b2 = n2; //错误,原因: 如果是变量赋值,则不会去判断该数是否在byte范围内,// 而是直接判断类型// char c1 = b1; //错误, 原因 byte 不能自动转成 char// //  //细节4: byte,short,char  他们三者可以计算,在计算时首先转换为int类型byte b2 = 1;byte b3 = 2;short s1 = 1;//short s2 = b2 + s1;//错, b2 + s1 => intint s2 = b2 + s1;//对, b2 + s1 => int//byte b4 = b2 + b3; //错误: b2 + b3 => int////boolean 不参与转换boolean pass = true;//int num100 = pass;// boolean 不参与类型的自动转换//自动提升原则: 表达式结果的类型自动提升为 操作数中最大的类型//看一道题byte b4 = 1;short s3 = 100;int num200 = 1;float num300 = 1.1F;double num500 = b4 + s3 + num200 + num300; //float -> double}
}

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

public class ForceConvert { //编写一个main方法public static void main(String[] args) {//演示强制类型转换int n1 = (int)1.9;System.out.println("n1=" + n1);//1, 造成精度损失int n2 = 2000;byte b1 = (byte)n2;System.out.println("b1=" + b1);// -48,造成 数据溢出}
}


public class ForceConvertDetail { //编写一个main方法public static void main(String[] args) {//演示强制类型转换//强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级//int x = (int)10*3.5+6*1.5;//编译错误: double -> int  (小数默认为double类型)int x = (int)(10*3.5+6*1.5);// (int)44.0 -> 44System.out.println(x);//44//char类型可以保存int的常量值,但不能保存int的变量值,需要强转char c1 = 100; //okint m = 100; //ok//char c2 = m; //错误char c3 = (char)m; //okSystem.out.println(c3);//100对应的字符, d字符}
}
String 类型的转换


public class StringToBasic { //编写一个main方法public static void main(String[] args) {//基本数据类型->Stringint 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";//会在OOP 讲对象和方法的时候会详细//解读 使用 基本数据类型对应的包装类,的相应方法,得到基本数据类型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("===================");System.out.println(num1);//123System.out.println(num2);//123.0System.out.println(num3);//123.0System.out.println(num4);//123System.out.println(num5);//123System.out.println(num6);//123System.out.println(b);//true//怎么把字符串转成字符char -> 含义是指 把字符串的第一个字符得到//解读  s5.charAt(0) 得到 s5字符串的第一个字符 '1'System.out.println(s5.charAt(0));}
}

基本数据类型和String类型的转换
1.在将 String 类型转成 基本数据类型时 ,要确保String类型能够转成有效的数据,比如,我们可以把 “123” ,转成一 个整数,但是不能把 “hello” 转成一个整数
2.如果格式不正确,就会抛出异常,程序就会终止,这个问题在异常处理章节中,会处理

/*** 演示字符串转基本数据类型的细节*/
public class StringToBasicDetail { //编写一个main方法public static void main(String[] args) {String str = "hello";//转成intint n1 = Integer.parseInt(str);System.out.println(n1);//抛出异常}
}

Java基础 DAY02相关推荐

  1. 《第一阶段 java基础 Day02笔记》————————第二讲Java基本语法

    第二讲Java基本语法 课程大纲 课程内容 学习效果 掌握目标 Java基本语法 注释.关键字.标识符 掌握 熟练掌握Java的注释方式 熟练掌握Java中的关键字 熟练掌握标识符概念 数据类型.常量 ...

  2. java基础day02运算符

    JAVA的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符 算数运算符(9):+  -  *  /  %  ++  -- 关系运算符(6):==  !=  >  >=  & ...

  3. 小汤学编程之JAVA基础day02——数据类型、Scanner类的使用

    一.JAVA的数据类型 1.变量      2.常量     3.基本数据类型     4.引用数据类型     5.数据类型转换 二.Scanner类的使用 1.作用      2.引入     3 ...

  4. 【202105小白训练营】-day02 java基础

    后端开发工程师 市场最具竞争力,专业技能,随着软件技术成熟,时代发展,软件工程师学习核心重点发生变化 1)早期程序员20年前,学习重点五笔字型(练习打字120),网络建网,语言入门c,vb 2)早期程 ...

  5. Java基础语法-数据类型与idea配置

    文章目录 day02 - Java基础语法 1. 注释 使用的技巧 注意点 2. 关键字 2.1 概念 2.2 第一个关键字class 3. 字面量 区分技巧 4. 变量 4.1 什么是变量? 4.2 ...

  6. 第一阶段:Java基础总复习一一一和一一一面向对象OOP总复习

    一.Java基础 0.Maven的介绍: 官网:https://maven.apache.org/download.cgi (1)Maven是什么? Maven 是 Apache 开源组织奉献的一个开 ...

  7. Java基础(顺序结构)学习笔记

    Java基础 顺序结构 JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行 顺序结构是最简单的算法结构 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个一次执行的 ...

  8. Java基础入门语法和安装

    1. Java概述 1.1 Java语言背景介绍(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Un ...

  9. Java笔记整理-02.Java基础语法

    1,标识符 由英文字母.数字._(下划线)和$组成,长度不限.其中英文字母包含大写字母(A-Z)和小写字母(a-z),数字包含0到9. 标识符的第一个字符不能是数字(即标识符不能以数字开头). 标识符 ...

最新文章

  1. MyBatis复习笔记2:配置文件详解
  2. javascript引用类型
  3. ansible playbook实战——下发部署nginx以及更新、回滚
  4. 刪除github上的一個repository
  5. 局域网网络风暴检测工具_二层网络结构和三层网络结构的对比
  6. python调用数据库数据类型_Python使用Mysql官方驱动(取出dict类型的数据)
  7. Linux下企业级分区方案
  8. 黄聪:C#操作Word表格的常见操作
  9. UVALive5461 UVA615 POJ1308 Is It A Tree?(解法二)【废除!!!】
  10. 数据库系统工程师输给了计算机等级考试二级
  11. Go基础:切片的地址和扩容
  12. 全面升级,淘宝/天猫api接口大全
  13. TF卡用FAT32还是NTFS?
  14. 机器学习实践—基于Scikit-Learn、Keras和TensorFlow2第二版—第2章 端到端机器学习项目实践
  15. 2021年江西省安全员C证考试报名及江西省安全员C证模拟考试题库
  16. Android PAI (PlayAutoInstall)功能一些经验
  17. Java多线程学习——01
  18. SSE(Server-sent Events)实现Web消息推送(SpringBoot)
  19. 火狐浏览器更新版本之后总是在当前页面打开新链接覆盖掉原先内容
  20. IS审计师执行风险评估的主要原因

热门文章

  1. 4g物联网卡赋能智能设备 加快社会智能化进程
  2. 【cocos2d-x4.0学习笔记】dya01
  3. 1267 老鼠的旅行 2012年CCC加拿大高中生信息学奥赛
  4. ftp服务器怎么添加文件夹,批量建立文件夹,为Serv_U批量创建用户
  5. HBuilderX插件安装系统找不到指定路径问题解决办法
  6. c语言花样编程,C语言表达式的花样表达
  7. java基础之接口_繁星漫天_新浪博客
  8. GraphPad Prism使用教程
  9. 重庆科创学院03级计算机文秘,重庆科创职业学院——国际商务文秘实务学习课程标准.doc...
  10. DirectX学习笔记(十五):粒子系统实现