Android开发Java基础之Java语言基础(1)
Java中的基本数据类型
整数类型
整数类型用来存储整数数值,既没有小数部分的数值。可以是正数,也可以是负数。整数类型在Java程序中有三种表现形式,分别是十进制,八进制,十六进制。
整型数据根据它所占内存大小的不同,可以分为byte、short、Int、long四种类型。
| 数据类型 | 内存空间(8位等于1字节) | 取值范围 |
| byte | 8位 | -128~127 |
| short | 16位 | -32768~32767 |
| int | 32位 | -2147483648~2147483647 |
| long | 64位 | -9223372036854775808~9223372036854775807 |
变量的定义(以int型为例)
int x;
int x=1;
int x,y;
int x=1,y=-1;
对于long类型来说,如果long的赋值大于int型的最大值或者小于int型的最小值,需要在数字后加L或l,表示该数值是长整数。
long unm=21474836525L;
浮点类型
浮点类型表示有小数部分的数字。Java语言中的浮点类型分为单精度浮点类型(float)和双精度浮点类型(double)。
| 数据类型 | 内存空间(8位等于1字节) | 取值范围 |
| float | 32位 | 1.4E-45~3.4028235E38 |
| double | 64位 | 4.9E-324~1.7976931348623157E308 |
变量的定义
默认情况下,小数都被看作double型。若使用float型小数,则需要在小数后面添加F或f。
float f1 = 13.14F;
double d1 = 4562.1564;
字符类型
char类型
字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符变量时,要以单引号表示,如‘s'表示一个字符,而”s“表示一个字符串。
变量的定义
char x='a';
由于字符a在Unicode表中的排序位置是97,因此上述语句也可以写成:
char a=97;
转义字符
转义字符是一种特殊的字符变量,它以反斜杠”\"开头,后面跟着一个到多个字符。常见的转义字符表如下:
| 转义字符 | 含义 |
| \ddd | 1~3位八进制数据所表示的字符,如\123 |
| \uxxxx | 4位十六进制数据所表示的字符,如\u0052 |
| \' | 单引号字符 |
| \\ | 反斜杠字符 |
| \t | 垂直制表符,将光标移到下一个制表符的位置 |
| \r | 回车 |
| \n | 换行 |
| \p | 退格 |
| \f | 换页 |
变量的定义
char c1=’\\';
char char1='\u2650';
布尔类型
布尔类型又称为逻辑类型,通过关键字boolean来定义布尔类型变量,只有true和false两个值,分别表示真和假。布尔类型不能和整数类型进行转换。布尔类型通常在流程控制中作为判断条件。
便利的定义
boolean b;
boolean b=true;
boolean b1,b2;
变量和常量
标识符和关键字
标识符
标识符可以简单的理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。
Java中关于标识符的语法规则:
- 标识符由字母、下划线、美元符号、数字组成,长度不受限制。
- 标识符的第一个字母不能数字。
- 标识符不能是关键字。
- 标识符不能是true、false、null。
下面是合法的标识符:
name
user_age
$page
下面是非法的标识符:
4word //数字开头
String //关键字
User name //带有空格
注意:Java中的标识符字母是严格区分大小写的。
关键字
关键字是Java中已经被赋予特殊意义的一些单词。
下面是Java中的50个关键字:
| abstract | assert | boolean | break | byte |
| case | catch | char | class | const |
| continue | ddefault | do | double | else |
| enum | extends | final | finally | float |
| for | goto | if | implements | import |
| instansof | int | interface | long | native |
| new | package | private | protected | public |
| return | short | static | strictfp | super |
| switch | synchronized | this | throw | throws |
| transient | try | void | volatile | while |
声明变量
变量的值在程序运行中是可以变化的
声明代码如下:
int age;
char char1=‘r';
声明常量
在程序运行过程中一直不会变得量叫做常量。
声明代码如下:
final int A=23;
final boolean BOOL=true;
常量名通常大写。
数据类型转换
隐式类型转换
从低级类型向高级类型的转换,系统将自动执行。类型按精度从低到高排列的顺序为byte<short<int<long<float<double。
例如:使用int型变量为float型变量赋值,int型将变为float型。
int x=50;
float y=x;
输出y的结果是50.0。
显示类型转换
当把高精度的值赋给低精度的变量时,必须使用显示类型转换(又称强制类型转换)。
例如:
int a = (int)45.23; //a的值为45
int b = (int’)'d'; //b的值为100
Android开发Java基础之Java语言基础(1)的更多相关文章
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- Android开发学习必备的java知识
Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...
- 20165337学习基础和C语言基础调查
20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...
- 20165227 学习基础和C语言基础调查
学习基础和C语言基础调查 技能学习经验和感悟 你有什么技能比大多人(超过90%以上)更好? 如果非要说出来一个的话,那就是篮球了.从热爱篮球,到热爱打篮球,经历挫折阻碍,不断反思学习,一步一步地向前迈 ...
- 20165318 预备作业二 学习基础和C语言基础调查
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...
- 20165230 学习基础和C语言基础调查
20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...
- 20165237 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...
- 20165234 预备作业2 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...
- 学习基础和C语言基础调查
学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上 ...
- 20165323 学习基础和C语言基础调查
20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...
随机推荐
- 从同步阻塞聊到Java三种IO方式
本文总结自 https://zhuanlan.zhihu.com/p/34408883, https://www.zhihu.com/question/19732473中愚抄的回答, http://b ...
- C语言Linix服务器网络爬虫项目(一)项目初衷和网络爬虫概述
一.项目初衷和爬虫概述 1.项目初衷 本人的大学毕设就是linux上用c写的一个爬虫,现在我想把它完善起来,让他像一个企业级别的项目.为了重复发明轮子来学习轮子的原理,我们不使用第三方框架(这里是说的 ...
- Python扩展模块——selenium的使用(定位、下载文件等)
想全面的使用selenium可以下载<selenium 2自动化测试实战-基于Python语言>PDF的电子书看看 我使用到了简单的浏览器操作,下载文件等功能... 推荐使用firefox ...
- windows7.0旗舰版安装后控制面板自带的Microsoft程序
1.不要卸载,否则会出现安装其他软件时缺少动态链接库
- 新概念英语(1-63)Thank you, doctor.
新概念英语(1-63)Thank you, doctor. Who else is in bed today? why? A:How's Jimmy today? B:Better. Thank yo ...
- spring boot定制Jackson ObjectMapper,为什么不生效
先说结论: 项目中定制了spring 的redisTemplate,而这个template没有使用我自定义的Jackson ObjectMapper.所以不生效. 下面是详细过程: 起因是spring ...
- tomcat 热替换class
需要在server.xml中做以下配置: 在host节点内加入<Context>标签,reloadable属性设置为true. <Host name="localhost& ...
- 解析 Javascript - this
在函数中 this 到底取何值,是在函数真正被调用执行的时候确定下来的,函数定义的时候确定不了. 因为 this 的取值是执行上下文环境的一部分,每次调用函数,都会产生一个新的执行上下文环境.当你在 ...
- Java基础语法<四> 控制流程
笔记整理 来源于<Java核心技术卷 I > <Java编程思想> if while do while for switch case case标签可以是: 类型为ch ...
- Hive:表1inner join表2结果group by优化
问题背景 最近遇到一个比较棘手的事情:hive sql优化: lib表(id,h,soj,noj,sp,np) --一个字典表 mitem表(md,mt,soj,noj,sp,np)- ...