how2j.cn

一个变量的类型,决定了该变量可以包含什么样的值。
Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字。

这八种基本类型分别是:
整型 (4种)
字符型 (1种)
浮点型 (2种)
布尔型(1种)

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



9分23秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



示例 1 : 整型   
示例 2 : 字符型   
示例 3 : 浮点型   
示例 4 : 布尔型   
示例 5 : String类型   
示例 6 : 练习-变量类型   
示例 7 : 答案-变量类型   

示例 1 :

整型

整型变量用于存放整数
byte
short
int
long
区别在于不同类型的整型,最大值,最小值不一样
如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误,这个时候就需要进行类型转换,在后面的章节会讲解
整型
public class HelloWorld{ public static void main(String[] args){ byte b = 1; short s = 200; int i = 300; long l = 400; /*如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误*/ byte b2 = 200; } }
public class HelloWorld{
   
  public static void main(String[] args){
	  byte b = 1;
	  short s = 200;
	  int i = 300;
	  long l = 400;

	  /*如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误*/
	  byte b2 = 200;
  }
}
示例 2 :

字符型

char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)
其长度和short一样,也是16位的
只能存放一个字符,超过一个字符就会产生编译错误
public class HelloWorld{ public static void main(String[] args){ char c = '中'; //char 只能存放一个字符,超过一个字符就会产生编译错误 char c2 = '中国'; //报错 char c3 = 'ab'; //报错 } }
public class HelloWorld{
   
  public static void main(String[] args){
	  char c = '中';
	  //char 只能存放一个字符,超过一个字符就会产生编译错误
	  char c2 = '中国'; //报错
	  char c3 = 'ab'; //报错

  }
}
示例 3 :

浮点型

浮点数类型有两种
float 长度为32位
double 长度为64位
注意: 默认的小数值是double类型的
所以 float f = 54.321会出现编译错误,因为54.321的默认类型是 double,其类型 长度为64,超过了float的长度32
在数字后面加一个字母f,直接把该数字声明成float类型
float f2 = 54.321f,
这样就不会出错了
浮点型
public class HelloWorld{ public static void main(String[] args){ double d = 123.45; //该行会出现编译错误,因为54.321是double型的 float f = 54.321; float f2 = 54.321f; } }
public class HelloWorld{
    
  public static void main(String[] args){
      double d = 123.45;
       
      //该行会出现编译错误,因为54.321是double型的
      float f = 54.321;
       
      float f2 = 54.321f;
       
  }
}
示例 4 :

布尔型

布尔型用于表示真假
其长度为1

boolean b1 = true;
boolean b2 = false;


分别代表真假
虽然布尔型真正存放的数据是0(false) 1(true)
但是,不能直接使用0 1 进行赋值
布尔型
public class HelloWorld { public static void main(String[] args) { boolean b1 = true; boolean b2 = false; // 虽然布尔型真正存放的数据是0(false) 1(true) // 但是,不能直接使用0 1 进行赋值 boolean b3 = 1; } }
public class HelloWorld {

	public static void main(String[] args) {

		boolean b1 = true;
		boolean b2 = false;

		// 虽然布尔型真正存放的数据是0(false) 1(true)
		// 但是,不能直接使用0 1 进行赋值
		boolean b3 = 1;

	}
}
示例 5 :

String类型

String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。
String类型是Immutable的,一旦创建就不能够被改变,更多的关于String的学习,请参考String
public class HelloWorld { public static void main(String[] args) { String str = "Hello Java"; } }
public class HelloWorld {
    public static void main(String[] args) {
    	String str = "Hello Java";
    }
}
示例 6 :

练习-变量类型

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
分别为如下值,找到合适的类型来定义
3.14
2.769343
365
12
'吃'
false
"不可描述"

比如3.14就使用double

double a = 3.14;
示例 7 :

答案-变量类型

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

3分4秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


答案并不唯一,以下是参考
public class HelloWorld { public static void main(String[] args) { double pi = 3.14; double e = 2.769343; short days = 365; byte months = 12; char chi = '吃'; boolean die = false; String fucking = "不可描述"; } }
public class HelloWorld {
    public static void main(String[] args) {
    	double pi = 3.14;
    	double e = 2.769343;
    	short days = 365;
    	byte months = 12;
    	char chi = '吃';
    	boolean die = false;
    	String fucking = "不可描述";
    }
}


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2017-12-30 整不明白到底double和float有什么区别
zixue



代码声明变量后这两个类型打印结果是一样的
public class bl
{
	public static void main(String[] args)
	{
		//浮点型变量double
		double s=3.14;
		//浮点型变量float
		double s1=2.769343;
		float  s7=2.769343f;
		//整形变量int
		int s2=365;
		//整形变量byte
		byte s3=12;
		//字符形变量char
		char s4='吃';
		//boolean类型变量
		boolean s5=false;
		//String类型变量
		String s6="不可描述";
		System.out.println(s1+"\n"+s7);
	}
}

							


2 个答案

chen530627yun 答案时间:2018-01-22
double和float 他们能表示的范围不一样,double比float 能表示的范围大很多。

蛤__ 答案时间:2018-01-09
float是单精度浮点数,double是双精度浮点数,具体参考IEEE 754 https://baike.baidu.com/item/IEEE%20754




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-11-15 作业
煮酒问青天9



交作业啦
package j2se;

public class variable {
	public static void main(String[] args) {
		double a=3.14;
		float b=3.14f;
		double c=2.769343;
		float d=2.769343f;
		int e=365;
		short f=365;
		long g=365;
		byte h=12;
		char i='吃';
		String j= "吃";
		boolean k=false;
		String l="不可描述";
		System.out.println(d);
		System.out.println(k);
		System.out.println(l);
		System.out.println(j);
		System.out.println(f);
				
	}
}

							


2 个答案

清水浩 答案时间:2017-12-12
java_Sh 答案时间:2017-12-04




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-08-25 请问“一个字符”是什么意思
2017-08-14 如何区分一个浮点型数据
2017-08-14 字符类型
2017-07-24 把12看作是byte类型可以吗?
2017-07-17 关于在数值常量后面增加一个字母直接定义成相关的类型
2017-06-10 为什么long类型不能赋值为9876543210?
2017-04-21 布尔 赋值
2017-03-22 关于基本类型的长度和范围
2016-09-10 3.14使用double类型的问题
2016-04-16 char类型
2016-04-01 3.4E-038与-3.4E038




提问之前请登陆
关于 JAVA 基础-变量-基本变量类型 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 389538688
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图