ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

二、变量与数据类型(头歌实践平台)

2021-05-28 19:57:31  阅读:231  来源: 互联网

标签:变量 数据类型 System Scanner String 头歌 println out



第1关:变量与常量


任务描述
本小节你只需要完成:定义变量,并输出它。

相关知识
什么是常量,什么是变量
你只需要记住两点:

常量:就是一种不会根据环境而改变的数据,例如:圆周率。
变量:是一种能够根据不同环境产生不同值的数据,例如:手机电量。
在这里插入图片描述例如图中的水杯容量,电池容量,人物等级都是变量。

怎么定义变量
在 Java中,我们通过三个元素描述变量:变量类型、变量名以及变量值。
那什么是变量类型,变量名,变量值呢?在这里插入图片描述

通过这张图你就能很好的理解了。
在计算机系统中有很多文件的类型(例如:视频文件,音频文件,office文件等等),在Java中的变量类型又有哪些呢?在JAVA中变量类型大致可以分为两种一种是数值类型,一种是非数值类型,数值类型又分为两种:整形和非整形如图所示:
在这里插入图片描述

如果你理解了,那么请你查看下图,思考哪些是数值类型,整形,非整形,非数值类型。
在这里插入图片描述

答案在最下方.

接下来我们就要开始定义变量了,需要四个步骤。

确定变量类型。
取变量名。
给变量赋初值。
别忘了分号结尾哦。
在这里插入图片描述
在这里插入图片描述

例如:我们要定义一个名字是张三的变量,并且输出:

public static void main(String[] args){
 String name = "张三";
 System.out.println(name);
}

输出的结果: 张三

思考题答案
在这里插入图片描述

编程要求
请在Begin-End区域中定义一个名为 love 的变量,并且给变量赋值www.educoder.net,然后输出。
程序运行结果:www.educoder.net

代码实现

package chapter2.step1;

public class HelloWorld{
	public static void main(String[] args){
 /********* Begin *********/
 String love="www.educoder.net";
    System.out.println(love);

 /********* End *********/    
	}
}

第2关:变量的使用


任务描述
本小节,你只需要完成:根据变量的命名规则给变量赋值。

相关知识
变量的命名规则和规范
我们定义变量的时候应该遵守什么规则呢?
我们先来看一张图。
在这里插入图片描述

这些都是符合规则的。 再来看一张图。
在这里插入图片描述

这些都是 不符合规则的。 相信看到这里你就明白了,JAVA变量的命名和前面第一章所学的标识符命名规则是一样的,不过还是有一些不同,总结下来规则与规范一共有六点: 1. 由字母,下划线,美元符号($),数字组成,但第一个字符不能是数字。 1. 如果变量名是复合型的那么我们采用驼峰式,或者蛇形式的方式。 驼峰式:teaCup(表示茶杯的意思),stuAge(学生年龄) 蛇形式:tea_cupstu_age 1. 如果是单个单词就全小写就行了。 1. 千万不要用中文拼音来表达:例如学生年龄:xueShengNianling。 1. 在一个方法中变量名不能重复。 1. 变量一定要给自己一个确定的类型。
变量的赋值
在这里插入图片描述
我们定义了一个变量 name ,用来保存一个字符串 “张三丰” , 在程序中只要找到了 name 这个变量,就能找到存储在里面的 ”张三丰”!当然,我们也可以把 name的值更换成新的字符串 “张三”。
最后的输出结果为:

变量name的值为张三丰
最新赋值后变量name的值为张三

编程要求
在Begin-End区域中添加代码定义love变量并且赋初值为 我喜欢在educoder上学习在12行将userName的值改成李四。
运行结果:
在这里插入图片描述
代码实现

package chapter2;

public class HelloVariable {
	public static void main(String[] args) {
		/********* Begin *********/
		 String love = "我喜欢在educoder上学习";    			//在这里定义变量 love 并赋初值为 我喜欢在educoder上学习
		/********* End *********/
		System.out.println("变量love的值为" + love);
		
		String userName = "张无忌";
		/********* Begin *********/
		 userName = "李四";  
         		//在这一行将userName的值改成李四
		/********* End *********/			
		System.out.println("重新赋值后变量userName的值为" + userName);
	}
}

第3关:Java数据类型


任务描述
本小节,需要你掌握两个知识:

1.JAVA中有多少种数据类型。

2.怎么定义这些数据类型的变量。

相关知识
JAVA中的数据类型
Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。8 种类型表示范围如下:
2. byte:8位,最大存储数据量是255,存放的数据范围是-128127之间。
3. short:16位,最大数据存储量是65536,数据范围是-3276832767之间。
4. int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
5. long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
6. float:32位,数据范围在3.4e-451.4e38,直接赋值时必须在数字后加上f或F。
7. double:64位,数据范围在4.9e-3241.8e308,赋值时可以加d或D也可以不加。
8. boolean:只有true和false两个取值。
9. char:16位,存储Unicode码,用单引号赋值。

这些东西你不需要把他背下来,当然如果你能背下来那更好了,我们现在对这些数据类型有个初步的印象,在之后的学习过程中会越来越熟悉的,好了接下来看两张图帮助记忆吧。

在这里插入图片描述

在这里插入图片描述

怎么定义对应数据类型的变量
好了相信你现在已经迫不及待的想要尝试一下了吧。接下来我们就一起来定义这八种数据类型吧。
在这里插入图片描述
编程要求
在右侧Begin-End区域中,第7行定义字符串类型变量赋值为张无忌,第9行定义int类型变量赋值为23,在第11行定义字符型变量赋值为男,在第13行定义float变量赋值为66.6。
输出结果:张无忌23岁性别:男这次考了66.6分

代码实现

package chapter2;

public class JavaDataType1 {
	public static void main(String[] args) {
		
		/********* Begin *********/
				String name="张无忌";	//在本行定义字符串变量name
		
				int age=23;	//在本行定义年龄变量 age
		
				String sex="男";	//在本行定义性别变量 sex
		
				float score=66.6f;	//在本行定义分数变量  score
		
		/********* End *********/


		System.out.println(name + age + "岁" + "性别:" + sex + "这次考了" + score + "分");
	}
}	

第四关:Java类型转换


任务描述
本小节需要根据所学知识,修改Java代码,进行数据类型的转换,我们开始吧!

相关知识
什么是数据类型转换
顾名思义,数据类型转换就是指:不同数据类型之间的相互转换
关于数据类型转换只需要你掌握两种方式:

自动类型转换。 2. 强制类型转换。
自动类型转换
关于自动类型转换你只需要记住一句话,就是:表数范围小的可以向表数范围大的进行自动类型转换。
你可以这样理解:当一个小的容器的水换到一个大的容器中毫无问题,但是一个大的容器的水换成小的容器可能会装不下,就会溢出。
如下图:
在这里插入图片描述

在代码中体现:
在这里插入图片描述

如果你理解了,那就看个思考题吧。
在这里插入图片描述

答案在最后面哦。
强制类型转换
你肯定会有疑问,既然自动类型转换只能是表数范围小的可以向表数范围大的转换那么我在实际使用中想要将表述范围大的向小的转换怎么办呢?诶这里就要用到强制类型转换了,顾名思义,强制类型转换就是将:表数范围大的数向表数范围小的进行转换。
那怎么使用强制类型转换呢?
在这里插入图片描述

思考题答案
在这里插入图片描述

编程要求
在Begin-End区域中,定义了两个变量,在第 7 行中有错误请修改,并调整。
预期输出:
89.3
89

代码实现


package chapter2;

public class TypeConvert {
	public static void main(String[] args) {
		/********* Begin *********/
		 double score=89.3;
        int scoreInt=(int)score;
        System.out.println(score);
        System.out.println(scoreInt);
		/********* End *********/
	}
}



第5关:Scanner的使用


任务描述
本关任务:完成编写Scanner实现如下效果:
在这里插入图片描述

相关知识
为什么要使用Scanner
我们前面所有的章节的练习一直都是输出一段数据,我们知道一个软件是既要有输出也需要有输入的。而Scanner就是用于用户在Java程序中输入数据的。
所以对于Scanner你可以理解为,它就是一个扫描仪,用来获取我们从键盘输入的数据。

怎么使用?
你只需要记住三个步骤:

在类的声明之前,引入扫描仪(Scanner):import java.util.Scanner;
在方法中创建一个扫描仪 Scanner input = new Scanner(System.in);
通过扫描仪获取从键盘输入的数据 int i = input.nextInt();
在这里插入图片描述

接下来,让我们一起在windows系统中来使用一下Scanner吧。

在D盘下新建一个java的文件夹用来存放代码。
在java文件夹中新建一个HelloWorld.java的文件如图所示:
在这里插入图片描述

  • HelloWorld.java文件的第一行中输入import java.util.Scanner; 并在main函数中创建扫描仪(Scanner)如图所示:
    在这里插入图片描述

  • 输入如图所示代码:
    在这里插入图片描述

  • 最后我们一起来查看效果吧,使用windows键+R输入cmd打开dos界面按照如图所示操作来运行java程序吧。

在这里插入图片描述

在这里插入图片描述

提示
本关任务涉及到一些前面章节没有涉及到的细节。
如下:

打印输出并换行和打印输出不换行。

System.out.println("请输入姓名:嫦娥"); //输出并换行
System.out.print("请输入姓名:嫦娥"); //输出但不换行

在JAVA中 相当于tab缩进, 表示回车, 表示换行 表示换成一个黑点。

System.out.println("    嫦娥");
System.out.print("    嫦娥");

//本行代码和上一行代码实现同样的效果

在这里插入图片描述

编程要求
好了,是时候检验一下学习成果了。
在Begin-End区域编写一个Java程序,定义变量,从控制台接受输入来描述嫦娥的姓名、年龄、性别、体重、地址、婚否等信息,效果如下图:

提示:Scanner不能获取char(字符)类型,获取小数类型需要使用nextDouble方法或者是nextFloat方法例如:

//获取输入的小数
double d = input.nextDouble();//获取输入的双精度类型数据
float f = input.nextFloat();//获取输入的单精度类型数据
测试说明
本次任务中涉及到了输入数据,你只需要将代码补充在右侧即可,需要输入的数据,平台会自动帮你填充并测试,以后平台自动填充的数据以测试输入来表示。

测试输入:

嫦娥
3500

45.5
月球广寒宫

预期输出:
在这里插入图片描述
预期输出中绿色字体部分为平台输入的内容(在本地的效果和图中是一致的),不需要你输出,具体输出结果请查看右侧测试集。

代码实现

package chapter2.step7;
/********* Begin *********/

import java.util.Scanner;
public class HelloWorld{
    public static void main(String[] args){
        Scanner input= new Scanner(System.in);
        System.out.println("请录入嫦娥个人信息:");
        System.out.println("请输入姓名:");
        String name = input.next();
        System.out.println("请输入年龄:");
        int age = input.nextInt();
        System.out.println("请输入性别:");
        String sex = input.next();
        System.out.println("请输入体重:");
        double weight = input.nextDouble();
        System.out.println("请输入地址:");
        String address = input.next();
        System.out.println("请输入是否已婚:");
        String voit = input.next();
          System.out.println("信息如下:");
          System.out.println("\t姓名:"+name);
          System.out.println("\t年龄:"+age+"岁");
          System.out.println("\t性别:"+sex);
          System.out.println("\t体重:"+weight+"kg");
          System.out.println("\t地址:"+address);
          System.out.println("\t婚否:"+voit);
        
         input.close();



		/********* End *********/
	}
}

标签:变量,数据类型,System,Scanner,String,头歌,println,out
来源: https://blog.csdn.net/CaesarQu/article/details/117373210

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有