黑马程序员——Java基础---Java语言基础(一),java---java
黑马程序员——Java基础---Java语言基础(一),java---java
------- android培训、java培训、java学习型技术博客、期待与您交流! ----------
概述
Java语言是一门高深的学问,要想掌握高深的技术,必须对Java语言的基础进行掌握。就如同想成为篮球明星,必须掌握最基本的控球技术一样。我们一起来了解一下Java语言的基础组成部分,为以后的Java之路做良好的铺垫。Java语言的基础组成包括:关键字、标示符、注释、常量和变量、运算符、语句、函数、数组等。
一、关键字
- 关键字
- 定义:被Java语言赋予了特殊含义的单词。
- 特点:关键字中所有字母都为小写。
- 保留字
- 其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
- 用于定义数据类型的关键字
- 基本数据类型
- 整数类型:byte short int long
- 浮点类型:float double
- 字符类型:char
- 布尔型:boolean
- 引用数据类型:
- class(类)
- interface(接口)
- void 用于函数上表示无返回值类型
- true(真)
- false(假)
- null(空)
- 判断:if else switch case default
- 循环:for while do
- 继续循环:continue
- 结束循环或选择结构:break
- 返回:return
- private(私有的)
- protected(受保护的)
- public(公有的)
- abstract(抽象的)
- final(最终的)
- static(静态的)
- synchronized(同步的)
- enum(枚举)
- extends(继承) implements(实现)
- new(建立实例)
- this(当前引用)
- super(父类引用)
- instanceof(判断对象类型)
- try(检查异常) catch(捕获异常) finally(最终执行)
- throw(抛出异常对象), 用在函数内;throws(抛出异常类),用在函数上
- package(创建包)
- import(导入包)
- native(本地)
- strictfp(strict float point,精确浮点)
- transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
- volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)
- assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)
注:main不是关键字,是被虚拟机所识别的一个名称。
二、标识符
1.标识符定义及规则
- 在程序中自定义的一些名称。可以理解为为在Java中增加阅读性的自定义名称
- 定义合法标识符规则:
- 由26个英文字母大小写,数字:0-9 符号:_ $ 组成。数字不可以开头。
- 不可以使用Java中关键字和保留字。
- Java中严格区分大小写。
- 别用Java API中的类名作为自己的类名。
- 注意:在起名字的时,为了提高阅读性,要尽量有意义。
2.Java中的名称规范:
- 包名:多单词组成时所有字母都小写。
- xxxyyyzzz
- 类名接口名:多单词组成时,所有单词的首字母大写。
- XxxYyyZzz
- 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
- xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接。
- XXX_YYY_ZZZ
三、注释
- 用于注解说明解释程序的文字就是注释。
- 提高了代码的阅读性。
- Java中的注释格式:
- 单行注释
- 格式: //注释文字
- 多行注释
- 格式: /* 注释文字 */
- 注意:多行注释内不要加多行注释
- 文档注释
- 格式:/** 注释文字 */
- 单行注释
- 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
- 对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档
实例:
/**
这是我的Hello World程序。
@author 中仔
*/
class Demo
{
/*
这是主函数,是程序的入口
它的出现可以保证程序的独立运行,
*/
public static void main(String[] args)
{
//这是输出语句用于将括号内的数据打印到控制台。
System.out.println("Hello World");
}
}
四、常量和变量
1.常量
- 常量表示不能改变的数值。
- Java中常量的分类:
- 对于整数:有四种表现形式。
- 二进制:0,1 ,满2进1.
- 八进制:0-7 ,满8进1. 用0开头表示。
- 十进制:0-9 ,满10进1.
- 十六进制:0-9,A-F,满16进1. 用0x开头表示。
- 进制的基本转换
- 十进制 二进制 互转
- 十进制转成二进制 除以2取余数
- 二进制转成十进制 乘以2的幂数
- 图解如下:
- 十进制 八进制 互转,十进制 十六进制互转
- 跟转换二进制的方法一样。简单的算法:可以先将十进制转换为二进制,再转换为八进制和十六进制。这就利用了一个八进制位相当于三个二进制位,而一个十六进制位相当于四个二进制位。
- 十进制 八进制 互转,十进制 十六进制互转
- 负数的二进制表现形式
- 对应的正数二进制取反加1。
- 注:负数的最高位为-1。
- 负数的二进制表现形式
2.变量
- 变量的概念:
- 内存中的一个存储区域
- 该区域有自己的名称(变量名)和类型(数据类型)
- 该区域的数据可以在同一类型范围内不断变化
- 变量作用:
- 用来不断的存放同一类型的常量,并可以重复使用
- 使用变量注意:
- 变量的作用范围(一对{}之间有效)
- 初始化值
- 变量的生存中期:
- 变量从定义的位置开始就在内存中活了, 变量到达它所在的作用域的时候就在内存中消失了;
- 定义变量的格式:
- 数据类型 变量名 = 初始化值;
- 注:格式是固定的,记住格式,以不变应万变。
- 理解:变量就如同数学中的未知数。
3.数据类型
- 数据类型图:
- Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。
- 整数默认:int 小数默认:double
- 基本数据类型:级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
- 自动类型转换(也叫隐式类型转换):从低级别到高级别,系统自动转的;
例如:
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
- 强制类型转换(也叫显式类型转换):把一个高级别的数赋给一个别该数的级别低的变量;
例如:byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
- 注意:
byte b1=3,b2=4,b;
b=b1+b2;*失败
b=3+4;
哪句是编译失败的呢?为什么呢?
b1b2是变量不是具体数值,3和4是具体数值
五、运算符
1.算数运算符
- 算术运算符的注意问题
- 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
- 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是:3000
- “+”除字符串相加功能外,还能把非字符串转换成字符串 ,
例如:System.out.println("5+5="+5+5);//打印结果是:5+5=55:
2.赋值运算符
- 符号:= , +=, -=, *=, /=, %=
- 示例:
int a,b,c; a=b=c =3;
int a = 3; a+=5;等同运算a=a+5;
- 思考:short s = 3; s=s+2与s+=2;有什么区别?
隐式类型转换可以从小到大自动转,即byte->short->int->long如果反过来会丢失精度,所以
s=s+1; 自然是编译不通过的,提示损失精度必须进行显示类型转换 而s+=2的意思与s = s+2不同,
s=s+2这句先执行s+2然后把结果赋给s,由于1为int类型,所以s+2的返回值是int,编译器自动进
行了隐式类型转换 ,所以将一个int类型赋给short就会出错,而s+=2不同由于是+=操作符,在解
析时候s+=1就等价于s = (short)(s+2),翻番来讲就是 s+=2 <=> s = (s的类型)(s+1)
3.比较运算符
- 注:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
4.逻辑运算符
- 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
- “&”和“&&”的区别:
- 单&时,左边无论真假,右边都进行运算;
- 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
- “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
- 异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
5.位运算符
- 位运算是直接对二进制进行运算。
6.三元运算符
- 格式: (条件表达式)?表达式1:表达式2;
- 如果条件为true,运算后的结果是表达式1;
- 如果条件为false,运算后的结果是表达式2;
- 如果条件为true,运算后的结果是表达式1;
- 示例:
获取两个数中较小的数。
int x=5,y=4,z;
z = (x<y)?x:y;//z变量存储的就是两个数中较小的数
7.运算符优先级
六、转义字符
- 概念:通过 \ 来转变后面字母或符号的含义。
- 常用转义字符:
- \b:退格
- \n:换行
- \t:制表符,相当于tab键
- \r:回车
- \\:表示反斜杠
- \':表示单引号
- \":表示双引号
------- android培训、java培训、java学习型技术博客、期待与您交流!
----------
相关文章
- 暂无相关文章
用户点评