Java语法基础(一)----关键字、标识符、常量、变量
一、关键字:
关键字:被Java语言赋予特定含义的单词。组成关键字的字母全部小写。注:goto和const作为保留字存在,目前并不使用。main并不是关键字。
二、标识符:
标识符:就是给类,接口,方法,变量等起名字时使用的字符序列。
组成规则:英文大小写字母、数字字符、$和_
注意事项:不能以数字开头、不能是Java中的关键字、区分大小写
我们通常会给下面的这些东西起一个标识符:
包、类或者接口、方法和变量、常量
三、注释:
单行注释的格式: //注释文字
多行注释的格式: /* 注释文字 */
文档注释的格式:/** 注释文字 */
注:多行注释不能嵌套使用,而单行是可以的。
文档注释:被javadoc工具解析成一个说明书,面向对象部分的知识中会用到。
四、常量、进制和进制转换
常量:在程序执行的过程中其值不可以发生改变
Java中常量分类:
- 字面值常量
- 自定义常量(面向对象部分讲)
1、常见常量:
字符串常量:用双引号括起来的内容
整数常量、
小数常量、
字符常量:用单引号括起来的内容
布尔常量:较为特有,只有true和false
空常量:null(数组部分讲解)
2、进制与转换:
Java针对整数常量提供了4种表现形式:二进制、八进制、十进制、十六进制。
八进制的整数以0开头,十六进制的整数以0x开头。
注:现在的计算机系统很少用八进制的了。二进制表示法太冗长,所以在程序中一般喜欢用十六进制
二进制与八进制的转换:
二进制与十六进制的转换:
3、有符号数据表示法:
在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。
- 原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
- 反码:正数的反码与其原码相同;负数的反码是对其原码按照位取反,但符号位(最高位)不变。
- 补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。
另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
五、变量:
变量概述:在程序执行的过程中,在某个范围内其值可以发生改变的量
变量定义格式:数据类型 变量名 = 初始化值;
注:Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间
变量按数据类型划分:
注:引用类型中还有一种特殊的null类型。所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是Java中没有指针这个说法。
变量按被声明的位置划分:
- 局部变量:方法或语句块内部定义的变量
- 成员变量:方法外部、类的内部定义的变量
六、八种基本数据类型和类型转换:
1、计算机存储数据的基本单位:
字节(Byte)是:计算机文件大小的基本计算单位。
1个字节(Byte) = 8个位(Bit)
Bit意为“位”或“比特”,是计算机运算的基础;二进制中的一位,是二进制最小信息单位。二进位可以用来表示一个简单的正/负的判断,有两种状态的开关(如电灯开关)。
说明:
- 在内存计算过程中,字节少的数据运算速度更快;
- 在硬盘存储中,字节少的数据类型也可充分存入更多的数据。
2、八种基本数据类型:
注:
(1)整数默认:int。声明long型常量必须在数字后面加‘l’或‘L’ ,如: long l1 = 88888888888L; //必须加l否则会出错
(2)浮点型常量(小数)默认:double。声明一个float型常量,则需在数字后面加 f 或 F ,如:double d = 12345.6; //正确 float f = 12.3f; //必须加f否则会出错
(3)Java 字符采用 Unicode 编码,每个字符占两个字节,因而可用十六进制编码形式表示。注:Unicode是全球语言统一编码。Java语言中的字符char可以存储一个中文汉字,因为java语言中的字符占用两个字节。
(4)boolean 类型适于逻辑运算,一般用于程序流程控制。
boolean 类型数据只允许取值 true 或 false ,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。
(5)byte、short在定义的时候,他们接收的其实是一个int类型的值。这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。
128:10000000
-128:10000000 (这里的1即是符号位,也是数值位)
使用变量注意事项:
- 作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
- 初始化值:没有初始化值不能直接使用
- 在一行上建议只定义一个变量:可以定义多个,但是不建议
3、数据类型转换:
注:boolean类型不能转换为其他的数据类型
- 默认转换:(从小到大的转换)
byte,short,char—int—long—float—double
byte,short,char相互之间补转换,他们参与运算首先转换为int类型
- 强制转换:
目标类型 变量名=(目标类型)(被转换的数据);
总结:那么,我们到底用那种转换呢?
一般建议,最好不要随意使用强制类型转换,容易造成数据精度的损失。
(1)容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。
(2)有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
面试题:
A:下面两种方式有区别吗?
float f1 = 12.345f;
float f2 = (float)12.345;
答案:有区别:f1其实是通过一个double类型转换过来的;而f2本身就是一个float类型。
B:下面的程序有问题吗,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
答案:byte b3 = b1 + b2;是有问题的。因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题。
常量相加,先把结果计算出来,然后看是否在byte的范围内,如果不是,才报错。
C:下面的操作结果是什么呢?
byte b = (byte)130;
System.out.println(b);
答案:-126
D:字符参与运算:是查找ASCII里面的值
'a' 97
'A' 65
'0' 48
System.out.println('a');
System.out.println('a' + 1);
E:字符串参与运算:这里其实是字符串的拼接
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
注:这里的+不是加法运算,而是字符串连接符。
Java语法基础(一)----关键字、标识符、常量、变量的更多相关文章
- JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算
JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...
- Java基础笔记(2) 程序入口 关键字 标识符 常量 变量
提醒:关于那些和我一样新鸟来看资料的,能看懂多少看多少,看不懂的就是不重要,重要的你想我自己学习肯定要标注的,这些信息明白每个知识点实际作用就好了,其他的比如等会讲的常量内存,常量池这些都是我找的资料 ...
- Java语法基础-final关键字
final关键字主要用在三个地方:变量.方法.类. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改: 如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一 ...
- Java语法基础-static关键字
static关键字说明 “static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法.这 ...
- Java语法基础(1)
Java语法基础(1) 1. Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...
- java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 是引用对象的地址值不能变,引用变量所指向的对象的内容是可以改变. final变量永远指向这个对象,是一个常量指针,而 ...
- Java中关于注释、标识符、变量、常量、数据类型、类型转换、转移字符以及数值型的表现形式的详解
Java文件的注意事项 在同一个Java文件中,可以定义多个类,但是被public修饰的类只能够有一个,并且此类名要与文件名一致. 在同一个类中,可以定义多个方法,但是名字叫做main的方法只能有一个 ...
- 【JAVA零基础入门系列】Day4 变量与常量
这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...
- java语法基础(一)
这个是自己前两年做java视频教程时候的课件.感兴趣的同学可以参考下. 这里是纯粹的语法行总结. editplus的使用 选择项目目录 打开editplus 左侧目录导航栏 可以打开盘符,文件夹 可以 ...
随机推荐
- PHP遍历目录四种方法
学习SPL的时候,遇到了DirectoryIterator这个目录类,谢了一下遍历目录的方法.于是总结一下遍历目录的四种写法 如下: <?php /* * 方法一:利用SPL的目录类,这个很简单 ...
- Linux下建立Nexus私服
Linux下建立Nexus私服 要安装3个东西,然后配置私服: 1.JDK 2.Maven 3.Nexus 然后配置 1.JDK的安装 下载JDK安装包,格式为RPM格式,安装即可 安装程序 #rpm ...
- java war run
#!/bin/bashdate=`date +'%Y%m%d %T'`pid=`ps -ef |grep Credit | grep -v grep|awk '{print $2}'`damocles ...
- Oracle不足与MySQL优势
Oracle库主要不足:1.单点故障:2.付费License;3.不支持水平扩展. MySQL及水平拆库的优势:1.单点故障影响率1/N:2.免费:3.可低成本水平扩展,近乎无限的水平扩展能力.
- Android从零开始——Android开发环境的安装
Android开发环境的安装 1 IDE Android可以使用开发的IDE有Eclipse 或者 Android Studio.Android Studio还处于v 0.1.x版本,是early a ...
- swift学习笔记之-闭包
//闭包 import UIKit /*闭包(Closures): 函数.闭包.类都是引用类型(引用类型的实例赋值给变量或常量时,得到的都是该实例的引用,而值类型的实例变量得到的是独立的值的拷贝) 1 ...
- DOJO官方API翻译或解读-dojo/_base/lang --hitch()
hitch() hitch() 是一个函数,会在给定的上下中执行给定一个执行函数.hitch允许你去控制一个函数如何执行,往往在异步操作中起作用. 我们常常会写出这样的代码:(博主:这个代码意图在&q ...
- sqlserver 死锁原因及解决方法
其实所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B,另一个用户B 访问表B(锁住了表B),然后企图访问表A,这时用户A由于用户B已经锁住表B,它 ...
- ubuntu解决arm-linux-gcc no such file的问题
这种情况是因为你的操作系统是Ubuntu 64位的,而交叉编译工具链都是32位执行程序.要成功运行这些交叉编译工具链,需要与这些工具链相关的32位库.安装命令如下:sudo apt-get insta ...
- iOS 准确计算某个时间点距现在的时间差的代码 如"几分钟,几小时,几秒之前" ,
利用时间戳来进行计算 ,需要给它一个时间: NSString *countTime = [self intervalSinceNow:@"2015-10-29 17:00:00" ...