Java入门(四)

Java入门(四),第1张

Java入门(四) Java入门(四) 数据类型
  • java是一种强类型语言,要求十分严格。要求变量必须先定义后使用。一旦定义了某个变量指定了某个数据类型,如果不经过转换他就永远是这个类型了。
  • 强类型好处是安全性高,但速度会比较慢。
  • 强类型语言对应的是弱类型语言,强类型语言更严谨可以避免更多的错误。比如javascript可以随便玩变量,字符串的’12’加上3就可以变成两种类型,'123’或者123 。他们之所以写的那么随意,是因为他们的编辑器做了一些规范化。
public class Demo02 {
    public static void main(String[] args) {
//        String a = "";
        String a;
        System.out.println(a);
    }
}
  • 上面这个代码没有给String a 赋值,会出现以下报错
  • 假如把String a 赋值 10,就会报错。因为他不是字符串
String a = 10;

  • 10可以用int来类型。如果int用一个字符串来表示也会报错
int num = "hello";

  • 可以写成这样hello跟10都被输出出来了。变量时可以变化的量,需要一个数据类型,变量名字然后给他赋一个值。
public class Demo02 {
    public static void main(String[] args) {
        String a = "hello";
        int num = 10;
        System.out.println(a);
        System.out.println(num);
    }
}
  • java的数据类型分为两大类:基本类型(primitive type)和引用类型(reference type)
  • 基本类型分为数字、字符,数字还分为小数和整数,最后还有一个布尔类型表示是非。
  • 整数里面分为 byte、short、int、long,他们都可以代表整数,但是大小范围不一样。byte占一个字节范围:-128~127。short占两个字节范围:-32768 ~ 32767。int占4个字节范围:-2147483648 - 2147483647。long占8个字节范围:-9223372036854775808-9223372036854775807 。
  • 小数里分为double和float 。double占8个字节,我们一般用double。float占四个字节。float是单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方。double是双精度类型,精度是17位有效数字,范围是10的-308次方到10的308次方。当你不声明的时候,小数都用double来表示,所以用float的时候要在后面加上f。
  • char 表示一个字符。占两个字节
  • boolean类型只有true和false两个,占一位。
  • 现在来看一下八大数据类型。假如byte超出127就会报错
byte num2 = 200;

  • long是比较特殊,long这么长那么是怎么知道他用了long呢?一般定义这个类型会在数字最后加上大写L
long num4 = 30L;
  • 而小数Float后面也要跟个F标志,不然他会找到double类型
float num5 = 40.1;

float num5 = 40.1F;
double num6 =  3.1415926535;
  • 字符类型(要用单引号)。假如我写两个字符,他就会报错。只能写一个
char name = ‘秦疆';

  • 表示字符串的String他没有颜色,他不是一个关键词。他是一个类。
  • 最后还有布尔值boolean
boolean flag = true;
boolean flag2 = false;
  • int 会对应一个类Integer

  • 最大值是 2的31次方减1,最小值是-2的31次方。除了int,byte也有(Byte)
  • 后面学到类对应的基本类型的包装类会学到。
  • 除了基本类型之外还有一种引用类型。有类、接口、数组
  • 位是计算机最小计算单位,11001100是一个八位二进制数,最底层的单位。
  • 字节是计算机处理数据的单位,一个字节等于八个位。
  • 电脑32位和64位的区别:32位只能装32位的cpu,而64位既能装64也能装32位的cpu。寻址能力:64支持128g内存,32只能支持4gb。
  • 字符:是指计算机中使用的字母、数字、字和符号。
  • 1024b = 1Kb ,1024kb = 1Mb , 1024Mb = 1Gb, 1024Gb = 1Tb 。
面试题
  • 整数拓展,进制。二进制、八进制、十进制、十六进制在java当中怎么表示呢?
  1. 二进制一般以0b开头
  2. 十进制直接表示即可
  3. 八进制是以0开头的
  4. 十六进制是以0x开头的
int i = 10 ;
int i2 = 010;   // 代表八进制
int i3 = 0x10;  //代表十六进制
System.out.println(i);
System.out.println(i2);
System.out.println(i3);

  • 十六进制还有 A-F
  • 浮点数拓展。银行业务怎么表示?在用float关键词、double都是有问题的。下面代码,从中文他们都代表0.1 ,我们来看看他们是否相等
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5481339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存