day02_变量_基本数据类型_数据类型的转换_Scanner_20150731

2024-06-14 01:38

本文主要是介绍day02_变量_基本数据类型_数据类型的转换_Scanner_20150731,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

day02_变量_基本数据类型_数据类型的转换_Scanner_20150731


回顾:

昨天主要讲了3个方面的内容:

1.Linux
     操作系统、开源的、免费
     服务器端
     目录、挂载点、安全级别高
     /:根目录
     /home/soft01:主目录/家
2.java开发环境
   1).java源文件,经过编译,生成.class字节码文件
      JVM加载.class并运行.class
      跨平台、一次编程到处使用
   2)JVM:java虚拟机
              加载并运行.class
      JRE:java运行环境
              除了包含JVM以外还包含运行java程序所需要的必须的环境
          JRE=JVM+java系统类库
      JDK:java开发工具包
              除了包含JRE以外还包含开发java程序所需要的命令工具
          JDK=JRE+开发工具(编译、运行......)
3.eclipse
     IBM、开源的、免费

-------------------------------------------------------------------------------------------------------------------------------------------------------

今天主要内容

1.变量            2.基本数据类型           3.数据类型转换                      4.Scanner用法

**********        ********************        * *****************                     ******************

1.变量:存数据的,代词,指代它所存的那个数

   1)声明:
          int a;   //声明整型变量,名为a
          int b,c,d; //声明三个整型变量,名为b,c,d
   2)命名:
      2.1)只能包含字母、数字、_、$符
            并且不能以数字开头
      2.2)严格区分大小写
      2.3)不能使用关键字
      2.4)可以中文命名,但不建议
      2.5)建议:见名知意、驼峰命名法
   3)初始化:第一次赋值
      3.1)声明同时初始化
            int a = 250;
      3.2)先声明后初始化
            int a;
            a = 250;
   4)使用:
      4.1)变量的使用必须与数据类型匹配
            int a = 25.678;  //编译错误
      4.2)变量在用之前必须声明并初始化
            System.out.println(a); //编译错误,a未声明
            int a;
            System.out.println(a); //编译错误,a未初始化
            int a = 250;
            System.out.println(a); //正确
      4.3)对变量的使用就是对它所存的那个数的使用
            int a = 5;
            a = a + 10; //取出a的值5,加10后,赋值给a
                             //在a本身基础之上增10

代码小demo

package day02;public class VarDemo {//变量练习public static void main(String[] args) {//变量的声明、初始化、赋值/*int a;	//声明整型变量aint b,c,d;	//声明3个整型变量b,c,dint e = 250;	//声明变量e并赋值250int f;	//声明变量ff = 250;	//给变量f赋值250//System.out.println(g);	//编译错误,未声明变量g//int g;//System.out.println(g);	//编译出错,变量g未初始化//int h = 25.67;	//编译出错,类型不匹配int m = 5;System.out.println(m);m = m + 10;System.out.println(m);*//*int a,_a,$,_,_1,$1;	//合法变量名int _$1a_;	//合法变量名*//*int 年龄;	//正确,不建议使用int age;	//建议:见名知意int myJavaScore;	//建议:驼峰命名法*/}}


2.基本数据类型
   1)int: 整型,4个字节,-21个多亿到21个多亿
      1.1)整数直接量默认int型,不能超范围
            int a = 250; //250默认int型
            int b = 10000000000; //编译错误,100亿默认int型,但超范围了
      1.2)两个整数相除,结果还是整数,小数位无条件舍弃
            System.out.println(5/2);  //2
            System.out.println(2/5);  //0
      1.3)整数运算时超范围,会发生溢出,需要避免

   2)long:长整型,8个字节,很大很大
      2.1)long型直接量在数字后加L或l
            long a = 250L;
            long b = 10000000000;  //编译错误,100亿为int型

                   ----  整数的直接量为int型,100亿超过int型表示的范围,故编译错误

            long c = 10000000000L;
      2.2)较大数运算时有可能溢出,建议在第一个数后加L
      2.3)获取自1970.1.1零时到此时此刻的毫秒数
            long a = System.currentTimeMills();
   3)double:浮点型,8个字节,很大很大
      3.1)浮点型直接量默认为double型
            double a = 25.6378;  //25.6378默认double型
      3.2)舍入误差,精确运算场合不能使用

      3.3)小数的直接量为double型,如果float  f = 23.4;  则编译错误

   4)char:字符型,2个字节
      4.1)unicode编码格式,每个字符都有一个对应的码
            char是表现形式,实质上是int
      4.2)有且仅有一个字符
      4.3)字符型直接量需放在一对单引号中
      4.4)对于不方便输出的字符,需\来转义
   5)boolean:布尔型,1个字节,只能存true和false

3.数据类型的转换:
   1)分两种: 从小到大依次为 byte,short,int,long,float,double
                                                      char
      1.1)自动类型转换(隐式类型转):从小类型到大类型转
      1.2)强制类型转换:从大类型到小类型转
                                   (要转换为的数据类型)变量
                   有可能会溢出或精度的丢失
   2)两点规则:
      2.1)整数直接量可以直接赋给byte,short,char,但不能超范围
      2.2)byte,short,char型变量参与运算时,一律转为int再运算

代码小demo:

package day02;public class DataTypeDemo {//练习基本数据类型public static void main(String[] args) {int a = 250;long b = a; //小转大,直接转//int c = b; //编译错误,不能直接把long类型的数赋值给int型long d = 10000000000L; //100亿int e = (int)d; System.out.println(e); //结果为1410065408,100亿超过int范围,强制转换结果溢出double f = 25.678;int g = (int)f;System.out.println(g); //结果为25,强制把double型转换成int型,可能会损失精度//整型直接量可以直接赋值给char、byte、short,不能超范围byte bt1 = 5; byte bt2 = 6;//char、byte、short参与运算时,先转换成整型,然后再运算,故运算结果为整型byte bt3 = (byte)(bt1+bt2); byte bt4 = 5+6;System.out.println(bt3);char c1 = 'a';char c2 = 'b';//char c3 = c1+c2; //编译错误,运算时,先把char型的c1和c2转换成int型,然后进行运算char c3 = 'a'+'b';System.out.println(c3);/*boolean b1 = true;boolean b2 = false;System.out.println(b1);//boolean b3 = 5; //编译错误,boolean的值只能为true或falsechar c1 = '男';char c2 = 'm';char c3 = 5;char c4 = ' ';//char c5 = ''; //编译错误,字符的单引号中必须有且只有一个字符,不能不写//char c6 = '你好'; //编译错误,字符的单引号中必须有且只有一个字符//字符的单引号中必须有且只有字符的单引号中必须有且只有一个字符一个字符char c7 = '\\';System.out.println(c7); //结果为:\System.out.println(2+2); //4System.out.println('2'+2); //52*//*Integer a = 1234;Integer b = 1234;System.out.println(a == b);Integer c = 123;Integer d = 123;System.out.println(c == d);*/	/*int a = 250;//int b = 10000000000; //100亿--超过整型的范围-21亿~21亿System.out.println(5/2); //2System.out.println(2/5); //0int c = 2147483647;c = c + 1;System.out.println(c); //溢出--结果为-2147483648long d = 250L; //long e = 10000000000; //100亿--编译错误,整型的直接量为int型long f = 10000000000L;long g = 1000000000*2*10L; System.out.println(g); //200亿long h = 1000000000*3*10L;System.out.println(h); //溢出long i = 1000000000L*3*10;System.out.println(i); //300亿//把L加在第一个数后面,防止溢出//1970.1.1零时到现在的毫秒数long j = System.currentTimeMillis();System.out.println(j);double k = 2.526;double m = 3.0;double n = 2.9;System.out.println(m - n); //结果:0.10000000000000009System.out.println(1.0/10); //结果:0.1System.out.println(1.0/3); //结果:0.3333333333333333*/}}

4.Scanner的用法:
   1)在package下:
         import java.util.Scanner;
   2)在main中:
         Scanner scan = new Scanner(System.in);
   3)在2之下:
         System.out.println("请输入年龄:");
         int age = scan.nextInt();
     double price = scan.nextDouble();


代码小demo:

package day02;
import java.util.Scanner;  //1.
//Scanner演示
public class ScannerDemo {public static void main(String[] args) {Scanner scan = new Scanner(System.in); //2.System.out.println("请输入你的年龄:");int age = scan.nextInt(); //3.System.out.println("请输入商品的价格:");double price = scan.nextDouble();System.out.println(age);System.out.println(price);}
}

总结:文中红色标记部分为之前掌握的不好的地方,需要加强记忆与理解,其他内容为Java的基础知识点,仍需时而温习之!!!






这篇关于day02_变量_基本数据类型_数据类型的转换_Scanner_20150731的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059017

相关文章

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字