第二章 变量与数据类型

变量

变量的概述

变量是指内存中的一个存储区域,该区域要有自己的名称(变量名)、类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值。

每个变量都有自己的作用范围,叫作用域

变量的注意事项

1.Java中的变量必须声明后才能进行使用。否则编译报错。

2.变量在使用之前必须要进行初始化才能使用变量,否则编译报错。

3.不允许在同一段代码区域中声明相同名称的变量,否则编译报错。

4.每个变量都有自己独立的作用域(作用范围),变量的作用域:在一对{ } 中为有效区间。

5.在main()方法中声明的变量叫做局部变量,局部变量作用范围是:从声明开始到方法体结束

变量的声明和使用

声明:数据类型 变量名; 例如: int age;

赋值:变量名=值; 例如:age = 18;

声明同时赋值: 数据类型 变量名 = 值; int age = 18; 没有特殊情况下建议使用这种方式

使用:通过变量名访问变量的值 System.uut.println(age); // 18

标识符

1.变量名必须先是标识符,标识符命名的一些规则:

2.必须是字母、数字、下划线、$等,其中数字不能开头。

3.不能是JAVA关键字,比如:public static class ….

4.大小写敏感,长度没有限制,但不宜过长。

5.标识符尽量做到见名知意,可以是汉字,但不推荐使用。

标识符可以给类/变量/属性/方法/包 起名字

数据类型

数据类型是为了区分不同特点的数据而划分的数据类别。

数据类型分类:

Java分为“基本数据类型“和”引用数据类型“

基本类型有8种。

引用数据类型包括所有的:数组、类、接口、枚举和标注。

枚举可以看成特殊的类,标注可以看成特殊的接口

基本数据类型

基本数据类型是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;

}

}

类型转换

由一种数据类型转换为另一种数据类型的转换

类型转换分为:

基本数据类型间转换(自动类型转换(隐式)和强制类型转换(显示))

引用数据类型间转换(向上转型、向下转型)

基本数据类型和引用数据类型间转换(自动装箱、自动拆箱)

基本类型转换

自动类型转换(隐式)

由低级向高级的类型转换。

强制类型转换(显示))

从高级别类型强制向低级别类型的转换

常用的进制

(1)基本概念

日常生活中采用十进制来表示整数 ,逢十进一

计算机采用二进制来描述整数,逢二进一

八进制和十六进制等....

(2)十进制和二进制之间的转换(重点掌握)

a.正十进制转二进制

<1>除二取余法,让十进制整数不断的除以2取出余数,直到商为0时候将余数逆序排序

<2>拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重则在下面写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.正的二进制转换为十进制

<1>加权法,让二进制的每个数字乘以当前位的权重再相加即可

如: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(二进制)

单个字节代表的整数范围(重点中重点)

在计算中单个字节表示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

Java集成开发环境

作用:用于提供代码编辑、编译、调试等.....

常用的IDE:Eclipse、Myeclipse、IDEA

安装Eclipse

eclipse-jee-mars-2-win32-x86_64.zip

找一个盘符右键解压到当前的目录----->双击打开解压后的文件 --->找到 eclipse.exe 右键发送到桌面快捷方式,双击打开 ----> 弹出一个窗口,作用是选择工作空间,以后的代码项目都会保存到你指定的文件中,点击确定 ----> 弹出一个大窗口,看见欢迎页,这时候把欢迎页关闭即可。

<1>切换工作空间

菜单栏中File--- swith workspace

<2>使用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

<3>字体设置

window----- preferences --- General --- Appearnce -- Colors and Fonts --- Basic --- Text Font 双击

<4>常用快捷键

Alt+/ 辅助提示

Ctrl+/ 添加或取消单行注释

Ctrl+Shift+F 格式化当前代码

Ctrl+Shift+/ 添加多行注释

Ctrl+Shift+\ 取消多行注释

Ctrl+D 删除当前行

Ctrl+Z 代码回退

Ctrl+S 保存代码 --- 当保存的时候会重新编译 (注意:养成一个良好的编程习惯,写一行代码保存一下)

案例:

使用Eclipse 创建Java应用程序,实现输出个人信息功能

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键

java变量数据类型_java变量与数据类型相关推荐

  1. java变量数据类型_Java——变量和数据类型

    变量 变量就是一个临时存储数据的空间.那么我们把数据存在内存空间里面,怎么取呢? 举例说明: 我们可以把旅馆的一个个房间看作一个存储空间,把房间的名字"101"看成变量名,把房间类 ...

  2. java数据类型_Java 变量、表达式和数据类型详解

    数据类型 一.变量 变量: 表示存储空间,可用来存放某一类型(整数.小数...)的数据,没有固定值,变量值是可变的,可重复使用,也可以用来存储某种类型的未知数据. 变量的特点: ① 占据内存中的一块存 ...

  3. java 基本的数据类型_Java的基本数据类型介绍

    1. Java的数据类型 Java的数据类型包括基本数据类型和引用数据类型.其中基本数据类型就是我们通常所说的4类8种数据类型,如下图所示,4类即整数类型.浮点数类型.字符型和布尔型,8种即byte. ...

  4. java 数组写法_java书写、数据类型、数组定义

    这里只记录java与php.javascript不同的地方,相同的地方就不赘述了. 1.java文件源码为以.java为后缀的文件,字节码文件是以.class为后缀的文件. 2.写好一个java源码之 ...

  5. java 变量类型_Java 变量类型

    Java 变量类型 在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ...

  6. java 声明变量 初始化_Java变量的声明和初始化

    Java 语言是强类型(strongly typed)语言,强类型包含以下两方面的含义:所有的变量必须先声明.后使用. 指定类型的变量只能接受类型与之匹配的值. 这意味着每个变量和每个表达式都有一个在 ...

  7. java变换变量赋值_Java变量的类型转换

    在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换.根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换.自动类型转换 自动类型转换也叫隐式类型转换,指的 ...

  8. 大数据 java 代码示例_Java变量类型与示例

    大数据 java 代码示例 Java变量 (Java variables) Variables are the user-defined names of the memory blocks, and ...

  9. java成员变量定义_java变量之成员变量和局部变量以及它们的运行机制

    Java语言根据变量定义位置的不同,将变量分为成员变量和局部变量.成员变量指的是定义在类中(方法外)的变量,局部变量指的是定义在方法中的变量.同时成员变量以是否用static修饰分为类变量和实例变量. ...

最新文章

  1. 推荐系统-03-简单基于用户的推荐
  2. 变态跳台阶,很难很难,终于想出来了,附推导过程,为自己鼓掌
  3. python 代码-Python Insider
  4. lombok快速入门:实体类中再也不用写setter和getter,toString等方法了
  5. metasploit篇-01
  6. mybais传入多个参数的方法
  7. 使用Node.js部署智能合約(Smart Contract)
  8. python堆排序算法_python 排序 堆排序
  9. JAVA-初步认识-第十四章-多线程(面试题)
  10. 在Blazor中构建数据库应用程序——第3部分——UI中的CRUD编辑和查看操作
  11. Metasploit Framework(6)客户端渗透(上)
  12. Dedecms V5.7后台的两处getshell
  13. java 写文件 并发_记录一次Java文件锁引起的并发写文件问题
  14. Apache实现一个IP配置多个站点
  15. 10分钟搭建linux代理服务器
  16. SPCL:Siamese Prototypical Contrastive Learning
  17. html5普通文本框代码,html 文本框代码
  18. 【2021-12-22】【Kotlin】Type inference failed. Expected type mismatch: inferred type is HashSet but Set
  19. 英特尔携手百度飞桨,共创软硬一体人工智能生态
  20. 【微信小程序】微信小程序--倒放音频的实现

热门文章

  1. mysql手动启动1067错误_解决MySQL启动时万恶的1067错误(转)
  2. 导入mysql source_mysql导入source数据库
  3. mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26
  4. python怎么启动mne_mne-python学习之一 入门介绍
  5. IDEA包的分层显示
  6. 收藏列表放入MySQL还是redis_mysql导入redis
  7. 世界上覆盖范围最广的计算机网络是 ( ),世界上覆盖范围最广的计算机网络是()。...
  8. docker 分布式管理群集_Coolpy7分布式物联网MQTT集群搭建
  9. idea卸载不干净怎么办_fxfactory卸载不干净?Fxfactory及插件卸载教程
  10. Python部分知识点