java变量数据类型_java变量与数据类型

第二章 变量与数据类型

变量

变量的概述

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

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

变量的注意事项

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键

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python实现推荐系统代码_推荐系统之矩阵分解及其Python代码实现

有如下R(5,4)的打分矩阵&#xff1a;(“-”表示用户没有打分)其中打分矩阵R(n,m)是n行和m列&#xff0c;n表示user个数&#xff0c;m行表示item个数那么&#xff0c;如何根据目前的矩阵R(5,4)如何对未打分的商品进行评分的预测(如何得到分值为0的用户的打分值)&#xff1f;——…

数据库分区分表以及读写分离

谈谈怎么实现Oracle数据库分区表 Oracle数据库分区是作为Oracle数据库性能优化的一种重要的手段和方法&#xff0c;做手头的项目以前&#xff0c;只聆听过分区的大名&#xff0c;感觉特神秘&#xff0c;看见某某高手在讨论会上夸夸其谈时&#xff0c;真是骂自己学艺不精&#x…

java第二章_JAVA第二章知识点

JAVA第二章知识点本章知识梳理2.1 关键字2.2 标识符2.3 变 量2.4运算符2.5 程序流程控制2.6 方法2.1 关键字关键字(keyword)的定义和特点定义&#xff1a;被java语言赋予了特殊含义&#xff0c;用做专门用途的字符串(单词)特点&#xff1a;关键字中所有字母都为小写保留字(rese…

JSP Workshop

http://www.cnblogs.com/ITtangtang/p/4126395.html 发现http://www.tutorialspoint.com/里的资料很全也很不错啊&#xff01; 资料&#xff1a;http://www.tutorialspoint.com/jsp/jsp_tutorial.pdf 另外&#xff0c;http://www.runoob.com/jsp/jsp-tutorial.html 中关于JSP…

崇天老师python123测验6_嵩天老师python123测验1: Python基本语法元素 (第1周)

选择题**Guido van Rossum正式对外发布Python版本的年份是&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪…

从链接中获取文件名及扩展名

exeStr [filePath lastPathCompoment];   从链接中读取完整的带后缀文件名称 exeStr [filePath stringByDeleteExtension]; 从链接中读取不带后缀名的文件名称 fileType [filePath pathExtension];       获得链接中文件扩展名&#xff0c;不带"." …

mysql的学习要点_MySQL中的联合索引的学习要点总结

MySQL中的联合索引的学习要点总结联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段&#xff0c;一个查询可以只使用索引中的一部份&#xff0c;但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找&#xff0c;但不…

h5页面不可 移动_H5营销|为什么H5适合于微信营销

随着互联网技术的不断发展&#xff0c;更新在移动互联网时代&#xff0c;网络营销也开始越来越新颖化&#xff0c;而微信H5就是其中的佼佼者。它的出现满足了用户视觉上的审美要求&#xff0c;并且可以使营销方式变得更加的美观整洁&#xff0c;那么这里就有一个问题。为什么微…

input框

input: 输入时与输入框有点距离 padding-left: 5px; 点击时没有浅蓝色的框&#xff1a; outline: none; 设置输入框背景颜色&#xff1a;background: seagreen; 提示语&#xff1a; placeholder"请输入搜索内容" 放在HTML 输入框有图像&#xff1a; background-image…

python3 image_python3 ImageTk 安装方法

标签&#xff1a;使用命令&#xff1a;$ sudo yum search PIL | grep python3可显示得知&#xff1a;python3-dogpile-cache.noarch : A caching front-end based on the Dogpile lock.python3-dogpile-core.noarch : A ‘dogpile‘ lock, typically used as a component ofpyt…

亚太地区数学建模优秀论文_数学建模美赛强势来袭!

01美赛&#xff0c;即美国大学生数学建模竞赛(MCM/ICM)又要来啦&#xff01;赛题内容涉及经济、管理、环境、资源、生态、医学、安全、未来科技等众多领域。竞赛要求三人(本科生)为一组&#xff0c;在四天时间内&#xff0c;就指定的问题完成从建立模型、求解、验证到论文撰写的…

《软件调试》读书笔记:第13章 硬错误和蓝屏

会话管理器进程SMSS.exe是系统启动后的第一个用户态进程&#xff0c;负责启动和监护windows子系统进程&#xff1a;CSRSS.exe和登陆管理进程&#xff1a;WinLogonSMSS.exe从注册表中查询子系统exe文件的位置&#xff0c;并且启动它 CSRSS是windows子系统进程&#xff0c;自NT4以…

java selenium教程_Selenium3 Java自动化测试完整教程

本课程为一个完整的selenium自动化测试实战课程&#xff0c;采用当前**的版本3。学完后可以独立构建起企业级/项目级的自动化测试&#xff0c;从搭建环境、编写脚本、使用框架组织运行脚本与输出报告、及与持续集成工具Jenkins结合达到构建后即测试或指定晚上运行等方式&#x…

信息安全技术网络安全等级保护定级指南_行业标准 |报业网络安全等级保护定级参考指南V2.0发布,明确保护对象、定级要求...

近期&#xff0c;中国新闻技术工作者联合会正式发布《报业网络安全等级保护定级参考指南V2.0》。该指南由中国新闻技术工作者联合会组织网络安全领域的专家、报业技术专家以及业务专家经过多次调研、学习、探讨后&#xff0c;在原《报业网络安全等级保护定级参考指南V1.0》的基…

nRF51822 硬件复位引脚

nRF51822 有一个硬件复位引脚和Debug 口SWDIO是共用的&#xff0c;名字叫做nReset. 实现硬件复位是怎样子的&#xff1a; 1、这个引脚引出来&#xff0c; 2、给这个引脚低电平&#xff0c; 3、从低电平拉到高电平&#xff0c;即复位。 其实就是给这个引脚一个低电平脉冲。 转载…

java点赞功能实现_JavaWeb中点赞功能的实现及完整实例

实现原理1、功能描述&#xff1a;一个用户对同一文章只能点赞一次&#xff0c;第二次就是取消赞2、建立一个点赞表great&#xff0c;字段有文章ID(aid)&#xff0c;点赞用户ID(uid)3、当有用户进行点赞行为时&#xff0c;使用aid和uid搜索点赞表。若有该记录&#xff0c;则表示…

数学作图工具_科研论文作图系列-从PPT到AI (一)

导语&#xff1a;之前的推送中&#xff0c;小编给大家介绍过几款科研作图软件&#xff0c;包括统计分析软件Origin和Prism&#xff0c;图像处理软件ImageJ等等。从本期开始&#xff0c;小编将和大家一起继续学习科研论文作图。重点介绍图像的处理和排版&#xff0c;用到的工具主…

传送图片程序

前言&#xff1a;以C#为程序设计基础&#xff0c;传输大图片&#xff0c;并现实。在过程中&#xff0c;采用套接字&#xff0c;单线程同步机制为例子。需要深化&#xff0c;可以采用异步或者多线程的机制&#xff0c;保障能够顺利执行。具体代码可以到微云下载【链接&#xff1…

java中no1_【Java】-- 网络编程のNo.1

在现有的网络中&#xff0c;网络通讯的方式主要有两种&#xff1a;TCP(传输控制协议)方式UDP(用户数据报协议)方式在网络通讯中&#xff0c;TCP方式就类似于拨打电话&#xff0c;使用该种方式进行网络通讯时&#xff0c;需要建立专门的虚拟连接&#xff0c;然后进行可靠的数据传…

优启通怎么重装系统win10_重装系统失败?小编教你安全给神舟战神GX9 Pro重装win10系统方法...

神舟战神GX9 Pro 上市于2016年1月&#xff0c;虽然现在已经停产&#xff0c;但是还是有不少用户依旧十分喜爱这款笔记本。这款笔记本的性能完全对得起它的售价&#xff0c;很多用户都反馈其比外星人电脑要好。对于爱玩游戏的用户而言&#xff0c;对它17.3英寸的显示屏简直欲罢不…