Java变量与数据类型
1 变量
-
变量的概述
变量是指内存中的一个存储区域,该区域要有自己的名称(变量名)、类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值。 每个变量都有自己的作用范围,叫作用域
-
变量的注意事项
1.Java中的变量必须声明后才能进行使用。否则编译报错。 2.变量在使用之前必须要进行初始化才能使用变量,否则编译报错。 3.不允许在同一段代码区域中声明相同名称的变量,否则编译报错。 4.每个变量都有自己独立的作用域(作用范围),变量的作用域:在一对{ } 中为有效区间。 5.在main()方法中声明的变量叫做局部变量,局部变量作用范围是:从声明开始到方法体结束
-
变量的声明和使用
声明:数据类型 变量名; 例如: int age; 赋值:变量名=值; 例如:age = 18; 声明同时赋值: 数据类型 变量名 = 值; int age = 18; 没有特殊情况下建议使用这种方式 使用:通过变量名访问变量的值 System.uut.println(age); // 18
2 标识符
1.变量名必须先是标识符,标识符命名的一些规则:
2.必须是字母、数字、下划线、$等,其中数字不能开头。
3.不能是JAVA关键字,比如:public static class ….
4.大小写敏感,长度没有限制,但不宜过长。
5.标识符尽量做到见名知意,可以是汉字,但不推荐使用。
标识符可以给类/变量/属性/方法/包 起名字
3 数据类型
数据类型是为了区分不同特点的数据而划分的数据类别。
数据类型分类:
Java分为“基本数据类型“和”引用数据类型“
基本类型有8种。
引用数据类型包括所有的:数组、类、接口、枚举和标注。
枚举可以看成特殊的类,标注可以看成特殊的接口
4 基本数据类型
基本数据类型是Java事先定义好的,用关键字命名的数据类型。
基本数据类型分为:
整型 (byte、short、int、long)
浮点型 (float、double)
字符型 (char)
布尔型 (boolean)
-
整型
用于表示整数(不包含小数部分)的基本数据类型 依据分配的内存空间大小不同,又分为四种类型 数据类型 占用的空间大小 取值范围 byte(字节型) 8位,1个字节 -128~127 short(短整型) 16位,2个字节 -32768~32767 int(整型) 32位,4个字节 -2147483648~2147483647 long(长整型) 64位,8个字节 -9223372036854775808~9223372036854775807
-
浮点型
浮点型是用于表示浮点数的基本数据类型 单精度浮点型:float (需使用F/f进行标明) float number = 1.5f; 双精度浮点型:double (默认类型) double number = 5.25 数据类型 占用的空间大小 取值范围 float(单精度浮点型) 32位、4个字节 1.4E-45~3.4028235-E38 double(双精度浮点型) 64位、8个字节 4.9E-324~1.7976931348623157E-308
-
字符型
字符型是用于表示单个字符的基本数据类型 以char关键字进行标识 字符型用于保存单个字符或汉字 char采用unicode编码方式(8位的ASCII码包含在其中) 字符型占两个字节(也可以赋值0-65535的数字) 例如: public class TestType{ public static void main(String[] args){ //声明char类型变量,赋值字符a char char_word='a'; //声明char类型变量,赋值97 char char_temp=97; //输出两个变量查看值 System.out.println("char_word变量输出结果是:"+char_word); System.out.println("char_temp变量输出结果是:"+char_temp); } }
-
布尔型
布尔型是用于表示逻辑状态(true和false)的基本数据类型 布尔型特点 用boolean关键字标识 只有明确的两种值,true或者false 例如: public class TestBoolean{ public static void main(String[] args){ //创建boolean类型变量b_first 并赋值true; boolean b_first=true; //创建boolean类型变量b_second 并赋值false; boolean b_second=false; } }
5 类型转换
由一种数据类型转换为另一种数据类型的转换
类型转换分为:
基本数据类型间转换(自动类型转换(隐式)和强制类型转换(显示))
引用数据类型间转换(向上转型、向下转型)
基本数据类型和引用数据类型间转换(自动装箱、自动拆箱)
-
基本类型转换
自动类型转换(隐式) 由低级向高级的类型转换。 强制类型转换(显示)) 从高级别类型强制向低级别类型的转换
6 常用的进制
(1)基本概念
日常生活中采用十进制来表示整数 ,逢十进一
计算机采用二进制来描述整数,逢二进一
八进制和十六进制等....
(2)十进制和二进制之间的转换(重点掌握)
a.正十进制转二进制
除二取余法,让十进制整数不断的除以2取出余数,直到商为0时候将余数逆序排序
拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重则在下面写1否则写0即可
20----16+4
2^4 2^3 2^2 2^1 2^0
16 8 4 2 1
1 0 1 0 0
b.正的二进制转换为十进制
加权法,让二进制的每个数字乘以当前位的权重再相加即可
如:0010101 --- 21
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
1 0 1 0 1
练习:
37 和 65 转换为二进制,再转换成十进制
c.负十进制转换为二进制的方式
1>将绝对值转换为二进制,再进行按位取反加1
如: -20
-20的绝对值转换为二进制:0001 0100
按位取反:1110 1011
再加一: 1110 1100
d.负二进制转换为十进制的方式
1.先进制按位取反再加1,然后转为十进制整数后添加符号即可
如:1110 1100
按位取反 : 0001 0011
再加一: 0001 0100
转换为十进制:20
添加符号: -20
总结:
再计算中采用二进制序列中的最高为(最左边)代表符号为,使用1代表负数,0代表非负数
练习:
45 和 -45 转换为二进制
78 和 -78 转换为二进制
(3)二进制和八进制之间的转换(熟悉)
a.二进制转换为八进制的方式
将每3为二进制合并为一位八进制,并使用0作为前缀代表八进制
如:
011 001 (二进制) ----- 032(八进制)
011 101 100 (二进制)---- 0354(八进制)
b.八进制转换为二进制的方式
将每一位八进制拆分为三位二进制,并使用0b最为前缀带二进制(jdk1.7新特性)
如:
075(八进制) ----> ob111 101 (二进制)
(4)二进制和十六进制之间的转换(熟悉)
a.二进制转换为十六进制方式
将每四位二进制合并为一位十六进制,并使用0x作为前缀代表十六进制
如:
1010 0011(二进制) ---> 0xa3 (十六进制,使用a~f代表 10~15之间的整数)
b.十六进制转换为二进制的方式
将每一位十六进制拆分为四位二进制,并使用0b作为前缀代表二进制
如:
0x8c(十六进制) ---> 0b 1000 1100(二进制)
7 单个字节代表的整数范围(重点中重点)
在计算中单个字节表示8位二进制,描述的整数范围是:
对于非负数来说,描述范围:0000 0000 ~ 0111 1111 =>
0000 0000 ----> 0
0111 1111 ----> 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
----> 64 32 16 8 4 2 1
---->127
对于负数来说 描述的范围 :1000 0000 ~ 1111 1111
1000 0000 = 按位取反 0111 1111
再加1:1000 0000
= 转换位十进制整数 128
= 添加符号 -128
1111 1111 => 按位取反 0000 0000
=> 再加1: 0000 0001
= 转换位十进制整数 1
= 添加符号 -1
综上所述:
对于单个字节所能描述的十进制整数范围 : -128 ~ 127
8 Java集成开发环境
作用:用于提供代码编辑、编译、调试等.....
常用的IDE:Eclipse、Myeclipse、IDEA
-
下载eclipse
通过百度、搜狗等去过去 www.eclipse.org/downloads/
-
安装Eclipse
eclipse-jee-mars-2-win32-x86_64.zip 找一个盘符右键解压到当前的目录----->双击打开解压后的文件 --->找到 eclipse.exe 右键发送到桌面快捷方式,双击打开 ----> 弹出一个窗口,作用是选择工作空间,以后的代码项目都会保存到你指定的文件中,点击确定 ----> 弹出一个大窗口,看见欢迎页,这时候把欢迎页关闭即可。 切换工作空间 菜单栏中File--- swith workspace 使用eclipse开发java的步骤 1.创建一个java项目 1).第一种方式创建:在包资源管理器(package explorer)窗口中鼠标右击任意位置选择 New --- > Java Project,如果找不到那么选择other ---- >在搜索框中输入 “ Java Project” --- 找到后双击 2).第二种方式创建:File --- > Java Project,如果找不到那么选择other ---- >在搜索框中输入 “ Java Project” --- 找到后双击 3).第三种方式: 在工具条上点击新建按钮 (位于 file 下面) 选择 Java Project,如果找不到那么选择other ---- >在搜索框中输入 “ Java Project” --- 找到后双击 2.创建java源程序 在项目中找到 src ---- 右键点击class --- 输入类名(回车) 3.编译java源程序 -------- eclipse自动编译 4.运行java程序 项目中右键----run --- java application 字体设置 window----- preferences --- General --- Appearnce -- Colors and Fonts --- Basic --- Text Font 双击 常用快捷键 Alt+/ 辅助提示 Ctrl+/ 添加或取消单行注释 Ctrl+Shift+F 格式化当前代码 Ctrl+Shift+/ 添加多行注释 Ctrl+Shift+ 取消多行注释 Ctrl+D 删除当前行 Ctrl+Z 代码回退 Ctrl+S 保存代码 --- 当保存的时候会重新编译 (注意:养成一个良好的编程习惯,写一行代码保存一下) 案例: 使用Eclipse 创建Java应用程序,实现输出个人信息功能
9 Java中Scanner实现输入
是Java中用于实现从控制台读取用户输入的类。
使用步骤
1.导入包
import java.util.Scanner;
2.创建Scanner对象
Scanner input = new Scanner(System.in);
3.调用Scanner对象的方法,实现读取
方法名称 说 明
next() 查找并返回来自此扫描器的下一个完整标记,返回一个字符串
nextLine() 返回Enter键之前的所有字符
hasNext() 判断扫描器的输入中是否包含下一个标记
nextByte() 将输入的下一个标记扫描为byte
nextShort() 将输入的下一个标记扫描为short
nextInt() 将输入的下一个标记扫描为int
nextLong() 将输入的下一个标记扫描为long
nextFloat() 将输入的下一个标记扫描为float
next()和nextLine()区别
next()
不包含有效字符前的空格
在输入有效字符之后,将其后输入的空格
键、Tab键或Enter键等视为分隔符或结束符
nextLine()
包含有效字符前的空格
结束符只是Enter键