Java基础语法

Java的关键字及保留字

关键字(Keyword)

关键字的定义和特点
定义:被Java语言赋予了特殊含义的单词
特点:关键字中所有字母都为小写
注意事项:
1)true、false、null 不是关键字!是字面量。
2)main 不是关键字,是一个特殊单词,可以被 JVM 识别,主函数是固定格式,作为程序的入口。

保留字(Reserved Word)

现有Java版本尚未使用,但是以后的版本可能会使用关键字,命名标识符时要避免这些保留字(goto、const)

标识符及命名规则

给类、方法、变量起的名字,凡是自己可以起名字的都叫标识符。
定义合法标识符规则:
1)必须以字母或下划线或 $ 符号开始,其余字符可以是字母、数字、$ 符号和下划线。
2)只能包含两个特殊字符,即下划线 _ 和美元符号 $ 。不允许有任何其他特殊字符。
3)数字不可以开头。
4)不可以使用Java中的关键字和保留字,但能包含关键字和保留字。
5)Java中严格区分大小写。
6)标识符不能包含空格。
* 使用驼峰命名法,为了提高阅读性,见名知意。Java中的名称规范:[参照:阿里巴巴Java开发手册.pdf]
常用的命令规范:
1)包名(package):多单词组成时所有字母都小写。xxxyyyzzz
2)类名接口名:多单词组成时,所有单词的首字母大写。XxxYyyZzz
3)变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。xxxYyyZzz
4)常量名:所有字母都大写。多单词时每个单词用下划线连接。XXX_YYY_ZZZ
* 为了提高阅读性,建议见名知意。Java中采用Unicode字符集,所以标识符也可以使用汉字去声明,不建议使用。

Java中的注释

用于注解说明解释程序的文字就是注释。注释的好处:提高了代码的阅读性。
Java中的注释格式[三种]:

> 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。[查看源文件的属性大小作比较比较直观的了解]
>
对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc
所解析,生成一套以网页文件形式体现的该程序的说明文档。注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,在用代码去体现。因为代码仅仅是思想的一种体现形式而已。

变量和常量

变量(Variable)

内存中一块存储空间,可保存当前数据。在程序运行过程中,其值是可以改变的。
使用变量的注意事项
1)必须先声明并且初始化以后再使用(在同一个作用域中不能重复声明变量)!
2)变量必须有明确类型(Java 是强类型语言)。
3)变量有作用域(变量在声明的地方开始,到块{}结束)。变量作用域越小越好。
4)局部变量在使用前一定要初始化!成员变量在对象被创建后有默认值,可直接用。
5)在方法中定义的局部变量是在该方法被加载时创建。
局部变量:在方法内部定义的变量,称为局部变量(代码块里面变量).
局部变量的特点:局部变量必须先定义后使用;局部变量的内存在栈中分配。
为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用
使用变量注意:
1、变量的作用域(一对{ }之间有效)
2、定义变量的格式:数据类型 变量名 = 初始化值   => int x=3;
3、局部变量的命名规范:首字符小写,如果是多个单词构成,从第二个单词开始每个单词的首字符大写。
4、终态变量的命名规范:所有字符全部大写,多个单词构成,使用下划线分隔。

常量

在程序运行过程中,其值不可以改变的量。
Java中常量的分类
1)整数常量:所有整数
2)小数常量:所有小数
3)布尔(boolean)型常量:较为特有,只有两个数值。true false。
4)字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5)字符串常量。将一个或者多个字符用双引号(" ")标识。
6)null常量。只有一个数值就是:null.
Java中对于整数:有四种表现形式。
二进制:0,1 ,满2进1
八进制:0-7 ,满8进1. 用0开头表示。
十进制:0-9 ,满10进1.
十六进制:0-9,A-F,满16进1. 用0x开头表示。(数字0,并不是字母O)
注意事项:
1)字面量、常量和变量的运算机制不同,字面量、常量由编译器计算,变量由运算器处理,目的是为了提高效率。
2)不管是常量还是变量,必须先定义,才能够使用。即先在内存中开辟存储空间,才能够往里面放入数据。
3)不管是常量还是变量,其存储空间是有数据类型的差别的,即有些变量的存储空间用于存储整数,有些变量的存储空间用于存储小数。

Java的数据类型(基本数据类型、引用数据类型)

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间




数据类型的作用:
1)决定了占用内存空间的大小。
2)底层的存储的格式
3)决定了最终显式的形式。
*数据的具体类型有2种指定的方式:显式指定,隐式指定(通常是针对字面值。由编译器默认指定)
字符类型
char 类型:可以当作整数来对待。 无符号的短整型。没有负数.取值范围 [0-65535]
字符集:字符的集合。字符集合中的每一个字符都对应着一个唯一的整数。
1) ASCII:单字节字符集。只用到了一个字节的后7位。128个字符。
2) ISO8859-1:西欧使用的字符集,单字节字符集。256个字符。兼容了ASCII。
3) GB2312:双字节字符集。兼容了ASCII。主要收录了中文简体。
4) GBK:兼容了 gb2312.增加了繁体中文,还有各个少数民族的符号。
5) UTF-8:三字节的字符集。兼容了 ASCII。
6) Unicode:万国码。java 使用的字符集。jvm 使用的。保证所有的国家的符号都能识别。
转义字符(7种常用的转义字符)
\t: 水平制表符 对应着键盘上的Tab键。
作用: \t占用的半角的个数为[1-8]。从\t包括之前的输出的内容。总共占用的半角的位数必须是8的倍数。\t用来补齐8个半角位的倍数的。
\b:退格符: 对应着键盘上的 Backspace 键。
\r: 回车符: 让光标回到当前行的行首,后续的输出从行首输出。
\n:换行符: 让光标去下一行。Enter 键对应两个字符:\r\n 让光标去到下一行的行首。
\' : 字符单引号。
\" :字符双引号。
\\ :字符反斜杠
常用的基本数据类型

package com.boom.test;

/**
* 基本数据类型代码演示
* @author xiaoyin
*
*/
public class Test { public static void main(String[] args) {
// 数据类型 变量名 = 初始化值
byte b = 3;
System.out.println("输出byte类型=>b=" + b);
short s = 4000;
System.out.println("输出short类型=>s=" + s);
int i = 12;
System.out.println("输出int类型=>i=" + i);
long l = 12345678;
System.out.println("输出long类型=>l=" + l);
long l2 = 541646465464465564l;/* 数值较大取值末尾+l */
System.out.println("输出long类型=>l2=" + l2);
// float f= 2.3;/*报错:单精度*/
float f2 = 2.3f;/* 强制转换f */
System.out.println("输出float类型=>f2=" + f2);
double d = 2.5;
System.out.println("输出double类型=>d=" + d);
char ch = 'C';
System.out.println("输出char类型=>ch=" + ch);
boolean b1 = true;
b1 = false;
System.out.println(b1); } }

基本数据类型代码演示

基本数据类型转换


方式:自动类型转换(也叫隐式类型转换), 强制类型转换(也叫显式类型转换)
类型转换:java 不支持 不同类型之间的运算。如果有不同类型之间的数据做运算的话,那么首先第一步做同类型转换。编译器来完成这种转换的。自动的完成的。
转换的规则
1:所有的 byte、short、char 的值将被提升到int型。
2:如果一个操作数是long型,计算结果就是long型;
3:如果一个操作数是float型,计算结果就是float型;
4:如果一个操作数是double型,计算结果就是double型。System.out.println(6 % 123456L);// 2.0
5:boolean类型不可以转换为其他的数据类型
上述的转换都是 编译器 来完成的。自动完成的。在编译期完成类型的转换,也就是将小类型的数据 当作大类型的数据来使用(如果需要)。
注意:1 和 2 自动转换 是 绝对安全的。 3、4 有可能存在精度的损失。java 语法上这样是允许的。
自动类型提升

强制类型转换(可能会丢失精度) 语法:(强制转换为的类型)(被转换的数据);

package com.boom.test;

/**
* 数据类型转换
*
* @author xiaoyin
*
*/
public class Test { public static void main(String[] args) {
int x = 2;
byte b = 1;
x = x + b;// 占用较小的自动提升为int型
System.out.println("x=" + x);// x=3 byte b1 = 2;
b1 = (byte) (b1 + 5);// 强制类型转换
System.out.println("b1=" + b1);
// a=65+1=66 =>b
System.out.println("转换后输出字符:" + (char) ('a' + 1));// 强制转换为char 输出b byte b2 = 3;
byte b3 = 7;
int s;/* 强制转换 */
s = b2 + b3;// s=10
System.out.println("s=" + s); // Integer.MIX_VALUE int类型最大最小值
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
System.out.println("int_MAX=" + max + "\n" + "int_MIN=" + min); } }

数据类型转换

基本数据类型对应的包装类

02:Java基础语法(一)的更多相关文章

  1. 02 Java 基础语法

    在开始 Java 基本语法之前,先说明 Java 程序的基本规范: 大小写敏感,例如 Person 和 person 是不同的 类名首字母大写,如果类名由多个单词组成,每个单词首字母都大写,例如 He ...

  2. 【JAVA基础】02 Java基础语法

    一.内容 注释 关键字 标识符 常量.进制和进制转换 变量 数据类型和类型转换 运算符 语句 二.注释 注释概述 用于解释说明程序的文字 Java中注释分类格式 单行注释 格式://注释文字 多行注释 ...

  3. 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据

    070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...

  4. 064 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 无参带返回值方法

    064 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 无参带返回值方法 本文知识点:无参带返回值方法 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...

  5. 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念

    055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...

  6. 040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程

    040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...

  7. 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构

    035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...

  8. 022 01 Android 零基础入门 01 Java基础语法 03 Java运算符 02 算术运算符

    022 01 Android 零基础入门 01 Java基础语法 03 Java运算符 02 算术运算符 本文知识点:Java中的算术运算符 算术运算符介绍 算术运算符代码示例 注意字符串连接问题和整 ...

  9. 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结

    020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...

  10. 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例

    019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...

随机推荐

  1. 使用 certbot 自动给 nginx 加上 https

    概述 目前,Let's Encrypt 可以算是最好用的 https 证书申请网站了吧.而 certbot 可以算是它的客户端,能够很方便的自动生成 https 证书.我把自己的使用经历记录下来,供以 ...

  2. SQL学习(四)Where语句中的各种匹配方式

    在where语句中,我们需要制定各种条件,条件的各种组合需要用到不同的关键字 一.单条件 如:select * from ticket where name='测试' 二.多条件 1.和(and) 如 ...

  3. .NetCore 使用VSCode多项目调试

    使用VSCode可以调试.Net Core,但是调多个项目就需要进行一番设置. 首先创建一个总文件夹,以NetProjects文件夹为例,并创建一个解决方案.然后创建俩个.NetCore项目,并添加到 ...

  4. UFIDA

    充分匹配了‘用友’的中文品牌的含义,即‘与用户真诚合作,做用户可靠朋友’.其中‘U’代表‘User’,即用户:‘FID’表示忠诚.信任,来源于 Fidelity(诚实)等英文词的词根:助音词‘A’放在 ...

  5. Spring集成CXF获取HttpServletRequest,HttpServletResponse

    最近的项目中,在Spring继承CXF中要用到request来获取IP,所以先要获取到HttpServletRequest对象,具体方法如下: 1.配置文件: <jaxrs:server id= ...

  6. iOS10权限问题

    下图就是Info.plist的常用的权限问题: * 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风? * 相机权限: Priv ...

  7. CentOS的SVN服务器搭建与自动部署全过程

    CentOS的SVN服务器搭建与自动部署全过程 http://www.jb51.net/article/106218.htm authz-db = authz 引起的 svn 认证失败 http:// ...

  8. 【SVN】导出项目后报错汇总

    原文链接 1.jsp页面内:标点符号,引入报错 解决方法:关闭此项目的jsp验证,右键,最下面一个,Verification,右边一溜只留一个dtd就好 2. 编码问题-乱码 刚拉下来的项目编码可能与 ...

  9. 【学习笔记】python3中csv文件使用

    1. reader=csv.reader(f, delimiter=','):按行读取数据,reader为生成器,读取的每行数据为列表格式,可以通过delimiter参数指定分隔符. import c ...

  10. markdown-博客编辑

    1. 快捷键 2. 基本语法 2.1 字体设置斜体.粗体.删除线 2.2 分级标题 2.3 链接 2.4 分割线 2.5 代码块 2.6 引用 2.7 列表 2.8 表格 3. 常用技巧 3.1 换行 ...