java 基础 01 变量和注释、数据类型
1,变量和注释
比如:姓名:xiaoming 年龄:18
1.1变量的基本概念
当需要在程序中记录单个数据内容时,则需要声明一个变量来处理,而变量的本质就是内存中申请一块存储单元用于存储数据内容,由于该存储单元的数据可以改变,因此得名"变量"。
由于存放的数据内容不同导致存储单元的大小不同,在Java语言中采用数据类型加以描述,为了便于下次访问则需要指定一个名称,叫做变量名。
1.2变量的声明方式
数据类型 变量名称 = 初始值 ; //其中初始值可以省略,但分号不可以省略
比如:
int age = 18; //推荐使用该方式
int age;
扩展:
在main()方法的方法体中,直接声明的变量叫做局部变量,该变量的作用域从声明开始一直到方法体结束。
1.3标识符(变量名)的命名规则
(1)由字母、数字、下划线以及美元($)组成,其中数字不能开头。
如:name,age,name1,name2 等
(2)不能与java中的关键字保留字重名,所谓关键字就是java语言中用于表示特征含义的单词(保留字就时java官方定义了,但是未使用)。
如:public、class、void、static等
(3)区分大小写,长度没有限制,但是不宜过长。
如:name, Name 代表不同的变量,不推荐使用。
(4)尽量做到见名知意,支持汉语,但不推荐使用。
如:name、time、length、width、size等
1.4常见的注释
// 单行注释,从//开始,一直到本行的末尾都是注释内容。
/* */ 多行注释,从/*开始一直到*/结尾之间都是注释,该注释不允许嵌套。
/** */ 说明注释,它以 /** 开始,以 */结束。说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。
说明注释,使你更加方便的记录你的程序信息。
2.数据类型
2.1 基本分类
在Java语言中将数据类型分为两大类:
(1)基本数据类型
byte、short、int、long、float、double、boolean、char
1个 2个 4个 8个 4个 8个 1个 2个
(2)引用数据类型
数组、类、接口、枚举、注解
2.2 常见的进制
在日常生活中采用十进制,逢十进一,每个十进制数字的权重:10^0、10^1、10^2、...
在计算机底层采用二进制,逢二进一,每个二进制数字的权重:2^0、2^1、2^2、...
通常采用二进制的最高位(最左边)代表符号位,0代表非负数,1代表负数。
为了简化二进制的表示形式,采用八进制和十六进制加以描述。
如:
100 10 1
10^2 10^1 10^0
百 十 个
1 2 3
2.3 十进制和二进制之间的转换(尽量理解和掌握)
(1)正十进制转换为二进制的方式
a.除2取余法,让十进制整数不断地除以2取出余数,直到商为0时将余数逆序排列。
b.拆分法,将十进制整数拆分为若干个二进制权重的和,若有该权重下面写1,否则写0。
如:
45 => 32 + 8 + 4 + 1
128 64 32 16 8 4 2 1
0 0 1 0 1 1 0 1 => 0010 1101
(2)正二进制转换为十进制的方式
a.加权法,让二进制的每个数字乘以当前位的权重,最后累加起来。
如:
0010 1101 => 0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
=> 0 + 0 + 32 + 0 + 8 + 4 + 1
=> 45
(3)负十进制转换为二进制的方式
a.将十进制的绝对值转换为二进制,然后进行按位取反再加1.
如:
-45 => 绝对值转化为二进制:0010 1101
=> 按位取反: 1101 0010
=> 再加1: 1101 0011
45 + (-45) = 0;
45: 0010 1101
-45: 1101 0011 +
--------------------------
1 0000 0000 (高位溢出(丢弃) => 0)
(4)负二进制转换为十进制的方式
a.先减1再按位取反,转换为十进制整数后添加负号。
如:
1101 0011(负) => 先减1: 1101 0010
=> 按位取反:0010 1101
=> 转换为十进制整数:45
=> 添加负号:-45
练习:
65 和 88 转换为二进制:0100 0001 和 0101 1000
-65 和 -88 转换二进制:1011 1111 和 1010 1000
0101 1111 和 0110 1101转换为十进制(正):95 和 109
1010 0011 和 1100 1101转换为十进制(负):-93 和 -51
2.4 二进制和八进制以及十六进制之间的转换(了解)
(1)二进制转换为八进制的方式
a.将每三位二进制合并为一位八进制即可,并使用0作为八进制的前缀。
如:010 110(二进制) => 026(八进制)
(2)八进制转换为二进制的方式
a.将每一位八进制拆分为三位二进制即可,并使用0b作为二进制的前缀(从jdk1.7的新特性)
如:026(八进制) => 0b010 110(二进制)
(3)二进制转换为十六进制的方式
a.将每四位二进制合并为一位十六进制即可,并使用0x作为十六进制的前缀。
如:1010 0011(二进制) => 0xa3(十六进制,采用a~f来表示10~15)
(4)十六进制转换为二进制的方式
a.将每一位十六进制拆分为四位二进制即可,并使用0b作为二进制的前缀。
如:0x9b(十六进制) => 0b1001 1011(二进制)
2.5 单个字节表示的整数范围(重中之重)
在计算机底层采用二进制进行数据的描述,最高位代表符号位(1代表负数,0代表非负数),所能表示的整数范围是:
非负数:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
0111 1111 => 0*2^7 + 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
=> 0 + 64 + 32 + 16 + 8 + 4 + 2 + 1
=> 127
负数:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
1000 0000 => 先减1: 0111 1111
=> 按位取反:1000 0000
=> 转换为十进制整数:128
=> 添加负号: -128
1111 1111 => 先减1: 1111 1110
=> 按位取反:0000 0001
=> 转换为十进制整数:1
=> 添加负号:-1
综上所述:
单个字节所能表示的整数范围是:-128 ~ 127(-2^7 ~ 2^7-1).
2.6 整数类型
在Java语言中用于描述整数数据的类型有:byte、short、int、long,推荐使用int类型。
其中byte类型在内存空间中占1个字节,表示的范围是:-2^7 ~ 2^7-1.
-128 ~ 127.
其中short类型在内存空间中占2个字节,表示的范围是:-2^15 ~ 2^15-1.
-32768 ~ 32767.
其中int类型在内存空间中占4个字节,表示的范围是:-2^31 ~ 2^31-1.
正负二十一亿之间.
其中long类型在内存空间占8个字节,表示的范围是:-2^63 ~ 2^63-1.
比int类型还大的数.
在Java代码中直接写出的整数数值叫做直接量/字面值/常量,如:20,该数值默认为int类型,若希望表达比int类型还大的直接量,则需要在直接量的后面加上l或者L,推荐使用L,来表示 long类型的直接量。
扩展:
在以后的开发中若表示比long类型还大的整数,则可以借助java.math.BigInteger类型。
2.7 浮点类型
在Java语言中用于描述小数数据的类型有:float、double,推荐使用double类型。
其中float类型在内存空间中占4个字节,叫做单精度浮点数,通常可以描述小数点后7位。
其中double类型在内存空间中占8个字节,叫双精度浮点数,通常可以描述小数点后15位。
在Java代码中只能写出的小数数值叫做直接量,如:3.14,默认为double类型,若希望表达float类型的直接量,则需要在直接量的后面加f或F即可。
扩展:
由于float类型和double类型的变量在运算时可能会有误差,为了实现精确运算则可以借助java.math.BigDecimal类型。
java 基础 01 变量和注释、数据类型的更多相关文章
- java基础03变量和基本数据类型
package cn.bdqn.test; /** * * @author 小豆腐 * * 变量:会变化的量?? * 一个数据在内存中存储空间的表示!在运行期间可以动态改变! * * 关键字:在jav ...
- java基础 01
java基础01 1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Ru ...
- Java基础之变量
Java基础之变量 目录 Java基础之变量 1.变量概述 1.1 为什么需要变量 1.2 简单理解 1.3 变量使用注意事项 1.4 程序中+号的使用 1.5 Java数据类型 1.6 整数类型 1 ...
- Java基础:变量、常量、作用域
JAVA基础:变量.常量.作用域 变量:可以变化的量.Java是强类型语言,每个变量都必须声明类型. Java变量是程序中最基本的存储单元,要素包括变量名,类型和作用域. //类变量 static s ...
- Java基础-成员变量与局部变量
Java基础-成员变量与局部变量 1.什么是成员变量与局部变量? public class Student { String name; int high; public void stu ...
- Java基础-4变量与数据类型
变量:变量是Java程序中的一个基本存储单元.变量是一个标识符.类型及一个可选初始值的组合定义.所有的变量都有一个作用域,即变量在某一区域有效. 基本的变量声明方式如下: int a; float b ...
- java基础知识—变量、数据类型和运算符
1.变量:存储数据的一个基本单元.2.变量的声明和赋值: 1)声明并赋值;数据类型 变量名=值 例如:int prince=10; 2) 声明.赋值分为两步: 数据类型 变量名: 例如:int=pri ...
- 一、Java基础--01
Java基础测试题分析 第一题是关于基本的算法知识,这个很有必要去掌握以下,在学校也经常听老师们说找工作比试面试会出一些这方面的知识,我拿到的第一题是关于排序的,虽然很简单,但是我还是要提醒一下基础不 ...
- java基础01
1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Runtime Env ...
随机推荐
- AVI编码器
AVI编码器,AVI英文全称为Audio Video Interleaved,即音频视频交错格式.就是编码语音和影像同步组合在一起的文件格式.它对视频文件采用了一种有损压缩方式,但压缩比较高,因此尽管 ...
- shell判断网络主机存活
判断网络主机存活企业面试题4:写一个脚本,实现判断10.0.0.0/24网络里,当前在线用户的IP有哪些(方法有很多) #!/bin/sh#[ -f /etc/init.d/functions ] & ...
- [51nod1094]和为k的连续区间
法一:暴力$O({n^2})$看脸过 #include<bits/stdc++.h> using namespace std; typedef long long ll; ],sum[]; ...
- js刷新页面方法大全(转)
刷新页面实现方式总结(HTML,ASP,JS) 转载 2008-11-13 作者: 我要评论 多种方法实现页面的刷新代码 定时刷新: 1,<script>setTimeout( ...
- c++中字符串的截取:
c++中字符串的截取: string 类提供字符串处理函数,利用这些函数,程序员可以在字符串内查找字符,提取连续字符序列(称为子串),以及在字符串中删除和添加.我们将介绍一些主要函数. 1.函数fin ...
- 在GridView中实现换页确认功能
首先看效果: 废话不多说,直接贴代码: <asp:GridView ID="GridView1" runat="server" AllowPaging=& ...
- bat实现监测计算机网络连接,断网自动重启网络连接
十月一体验了windows 10预览版之后,决定继续装回正式版,尝个鲜就好了,毕竟预览版还是不稳定,环境不是很方便. 决定装个最新正式版windows 8.1,结果问题来了,无线连接总是失败,显示网络 ...
- ProtoBuf练习(四)
其中一个类型 protobuf语言的oneof字段类型相当于C++语言的联合数据类型 工程目录结构 $ ls proto/ sample_oneof.proto proto文件 $ cat proto ...
- 详解Java中的Object.getClass()方法
详解Object.getClass()方法,这个方法的返回值是Class类型,Class c = obj.getClass(); 通过对象c,我们可以获取该对象的所有成员方法,每个成员方法都是一个Me ...
- iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比
header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...