1.变量

  • 变量是可以持有某个基本类型的数值,或者指向某个对象。
  • 变量必须先定义后使用
  • 定义: 变量类型 变量名 = 初始值;

2.java基本数据类型

整数类型:long int short byte

浮点类型:double float

布尔类型:boolean

字符类型:char

计算机内存的最小存储单元是字节byte

一个字节是8位二进制数:00000000-11111111(0-255)

内存单元从0开始编号,称为内存地址

1K=1024字节,1M=1024K,1G=1024M,1T= 1024G

Java的byte和计算机的byte是对应的。Java分正负数

|数据类型

byte占用1个字节,8位,27~27-1即128~127

short占用2个字节,16位,215~21-1即-32768~32767

int占用4个字节,32位,232~232-1,二进制 int i2 = 0b10000 16进制 int j16 = 0xff0000 2147483648

long占用8个字节,64位,264~264-1,long类型数字加L,如long l = 9000000000000L

float占用4个字节,32位,float f1 = 3.14f; float f2 = 3.14e38f;

double占用8个字节,64位double d = -1.79e308; double d1 = 4.9e-324;

boolean只有true和false2个值

char字符类型:保存一个字符,用单引号表示char c1 = 'A'; char c2 = '中';

public class Hello {
public static void main(String[] args){
byte b = 127;//-128 ~ 127
short s = 32767; //-32768 ~ 32767
int i = 2147483647;//-2147483648 ~ 2147483647
long l = 9223372036854775807L;//-9223372036854775808 ~ 9223372036854775807
System.out.println(b+"\n"+s+"\n"+i+"\n"+l);
int i3 = 2_000_000_000;//8以上才支持
int i4 = 0xff0000;//十六进制表示的数值
int i5 = 0b10000000;//二进制表示的数值
System.out.println(Integer.toHexString(16));
System.out.println(Integer.toBinaryString(10));
}
}

3.常量

常量就是用final修饰的变量

  • 变量初始化后不可再次赋值
  • 常量名通常全部大写
  • 常量用来避免意外赋值
  • 常量用来代替Magic Number 如税率TAX = 0.2;每次使用tax,易读性更好。
        final double PI = 3.14;
PI = 5;//cannot assign a value to final variable 'PI'

总结

  • Java提供了两种变量类型:基本类型和引用类型
  • 基本类型:整型、布尔型、浮点型、字符型
  • 变量可重新赋值,等号是赋值语句,不是数学意义的等号
  • 常量在初始化后不可重新赋值
  • 使用常量便于理解程序意图

追加:各进制之间的转换


public class Hello { public static void main(String[] args) {
/*
* 12,012,a,0xa解析:%o和%x是将十进制数10按八进制和十六进制输出,而%号后面的‘#’的作用是完整呈现所有数值位数。显示八进制时,在数值前会加上数字0.显示十六进制时,会在数值前加上0x。如果配合%f、%e等浮点格式化字符时,即使所设置的数值不含小数部分,也会包含小数点。
*/
//把字符串转化为10进制数字
System.out.println("Integer.parseInt(\"10\"):"+Integer.parseInt("10"));
//把10进制转为2进制,8进制,16进制
System.out.println("Integer.toBinaryString(10):"+Integer.toBinaryString(10));
System.out.println("Integer.toOctalString(10):"+Integer.toOctalString(10));
System.out.println("Integer.toHexString(10):"+Integer.toHexString(10) );
//把字符串转化为10进制,2进制、8进制、16进制
System.out.println("Integer.parseInt(\"10\",10):"+Integer.parseInt("10",10));
System.out.println("Integer.parseInt(\"10\",2):"+Integer.parseInt("10",2));
System.out.println("Integer.parseInt(\"10\",8):"+Integer.parseInt("10",8));
System.out.println("Integer.parseInt(\"10\",16)):"+Integer.parseInt("10",16));
System.out.println();
System.out.println("把10进制,输出为8,16进制到字符串,而且可以控制输出形式:");
String s;
System.out.println(s = String.format("%d", 10));
System.out.println(s = String.format("%o, %#o, %#4o, %#04o", 10, 10, 10, 10));
System.out.println(s = String.format("%x, %#x, %#4x, %#04x", 10, 10, 10, 10)); } }

廖雪峰Java1-2Java程序基础-2变量和数据类型的更多相关文章

  1. Java编程基础——常量变量和数据类型

    Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...

  2. Python入门基础之变量和数据类型

    在Python中,能够直接处理的数据类型有以下几种: 一.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-80 ...

  3. 【python】廖雪峰python教程学习--基础

     No1: 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的 No2: 用r''表示''内部的字符串默认不转义 No3: 以'''开头,敲回车可以换行 No4: 布尔 ...

  4. 廖雪峰Java6IO编程-1IO基础-1IO简介

    1.IO简介 IO是指Input/Output,即输入和输出: Input指从外部读取数据到内存,例如从磁盘读取,从网络读取. * 为什么要把数据读到内存才能处理这些数据呢? * 因为代码是在内存中运 ...

  5. iOS开发笔记系列-基础4(变量与数据类型)

    对象的初始化 对象的初始化方法一般都如下: -(id)init { self=[super init]; if(self){ ... } return self; } 这个方法首先会调用父类的初始化方 ...

  6. Java基础-4变量与数据类型

    变量:变量是Java程序中的一个基本存储单元.变量是一个标识符.类型及一个可选初始值的组合定义.所有的变量都有一个作用域,即变量在某一区域有效. 基本的变量声明方式如下: int a; float b ...

  7. python基础之变量与数据类型

    变量在python中变量可以理解为在计算机内存中命名的一个存储空间,可以存储任意类型的数据.变量命名变量名可以使用英文.数字和_命名,且不能用数字开头使用赋值运算符等号“=”用来给变量赋值.变量赋值等 ...

  8. 开发基础 (变量、数据类型、格式化输出、运算符、流程控制、while循环)

    一.变量 name = "SmallNine" 等号前面是变量名(标识符),等号后面是变量值 变量的主要作用:就是把程序运算的中间结果临时存到内存里,已备后面的代码继续调用. 变量 ...

  9. java基础知识—变量、数据类型和运算符

    1.变量:存储数据的一个基本单元.2.变量的声明和赋值: 1)声明并赋值;数据类型 变量名=值 例如:int prince=10; 2) 声明.赋值分为两步: 数据类型 变量名: 例如:int=pri ...

随机推荐

  1. DevExpress v17.2新版亮点—WPF篇(七)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WPF v17.2 新的Hamburger Menu.Sched ...

  2. sqljdbc 无法连接到主机

    今天发现sqljdbc 无法连接到SQL Server 主机.原因是SQL Server Browser 服务没有打开

  3. [HTML]去除li前面的小黑点,和ul、LI部分属性

    [转] 对于很多人用div来做网站时,总会用到,但在显示效果时前面总是会有一个小黑点,这个令很多人头痛,但又找不到要源,其它我们可以用以下方法来清除.[HTML]去除li前面的小黑点,和ul.LI部分 ...

  4. Python 文件路径

    # 文件路径: # 1. 相对路径: 相对于当前程序所在的文件夹, 如果在文件夹内, 随便找, 直接写名字 # 如果不在这个文件夹内, 可能需要出文件夹或者进文件夹 # 出文件夹 ../ # 进文件夹 ...

  5. 阿里、华为、腾讯Java技术面试题精选

    阿里.华为.腾讯Java技术面试题精选 2017-10-27 19:30技术/腾讯/华为 JVM的类加载机制是什么?有哪些实现方式? 类加载机制: 类的加载指的是将类的.class文件中的二进制数据读 ...

  6. 使用Django+MySQL+Apache+Linux创建简单的博客

    本教程基于慕课网<Django入门与实践>编写,基于CentOS 7 基础知识 什么是django? Django是一个基于Python的高级Web开发框架, 特点:高效,快速,高度集成( ...

  7. Linux博客系统服务器搭建

    linux(CentOS)服务器搭建 前言 拿到购买的服务器信息后,会给出一个服务器的账号的密码,看你自己设置,账号一般为root. 拿到后,可在阿里云官网登录进入服务器.然后就可以进行一下的流程从而 ...

  8. 51Nod 1066:Bash游戏 (巴什博弈)

    1066 Bash游戏  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次最少拿1颗,最多拿K颗,拿到 ...

  9. HDU 2544:最短路

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  10. Wireless Network 并查集

    An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wi ...