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

相关文章

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Python变量与数据类型全解析(最新整理)

《Python变量与数据类型全解析(最新整理)》文章介绍Python变量作为数据载体,命名需遵循字母数字下划线规则,不可数字开头,大小写敏感,避免关键字,本文给大家介绍Python变量与数据类型全解析... 目录1、变量变量命名规范python数据类型1、基本数据类型数值类型(Number):布尔类型(bo

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul