网站首页 > 精选教程 正文
一、概述
语法是一个语言的基本使用逻辑,只有遵循语法才能合理使用语言解决实际问题。本文将从基本语法和高级技巧两个方面讲述JAVA。
二、基本语法
2.1、条件表达式
if是最常用的条件表达式,基本语法如下:
if(what){
// and do
}else{
// and do
}
在多重判断下,还可以这么写:
if(what){
// and do
}else if(what){
// and do
}else if(what){
// and do
}else{
// and do
}
此外,第一种还可以用三元运算符来表述:
what ? doWhenTrue:doWhenFalse;
2.2、循环
Java循环有两种,分别是for和while,如下:
//for循环
for(初始化; 布尔表达式; 更新) {
//代码语句
}
//增强for循环
for(声明语句 : 表达式){
//代码语句
}
while循环也有两种,分别是while和do-while,如下:
//while循环
while( 布尔表达式 ) {
//循环语句
}
//do-while循环
do {
//循环语句
}while(布尔表达式);
区别在于while是先判断,条件成功后才进入循环体,而do-while则是先进入循环体再判断条件。
跳出循环:break、continue。break是跳出整个循环,也可以跳到循环指定位置,continue是结束当次循环,继续下一次循环。其中在多层for循环中,break还可以跳到指定标签的for循环中,如下:
first:for(int j=0; j<5; j++){
second:for(int i=0; i<5; i++){
if(i == 0){
break first;
}
}
}
2.3、switch表达式
如果if多条件判断的依据是数值,还可以用switch语句来完成,如下:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
default : //可选
//语句
}
注意其中的break,如果没有break,那么当执行到指定值后的所有case也都会执行。expression可以是byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
2.4、泛型
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。有了泛型,就可以限制集合全部只能存放指定类型的对象。
三、高级技巧
3.1、lambda表达式
lambda表达式主要针对流可以简化代码,相应的在调试上也会比较麻烦,需要权衡利弊,并且有些方法并非预期那样执行。详细可参见以前梳理过的《Lambda实践总结》
3.2、反射
反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。Java反射机制主要提供了以下功能:
1、在运行时判断任意一个对象所属的类。
2、在运行时构造任意一个类的对象。
3、在运行时判断任意一个类所具有的成员变量和方法。
4、在运行时调用任意一个对象的方法。
5、生成动态代理。
hibernate就是运用了大量的反射实现NOSQL。
- 上一篇: 1.2. Java 语法 java基本语法
- 下一篇: Java语法入门005 java语法大全
猜你喜欢
- 2024-11-05 Java基础语法二 java基础语法教程
- 2024-11-05 java8流式语法掌握这6点,程序员基本业务代码就可以玩转了
- 2024-11-05 Shell基本语法 shell常用命令及示例
- 2024-11-05 「零基础编程培训系列—JAVA基础」4.Java基本语法(三)
- 2024-11-05 Android开发-java基本语法第二讲 java开发安卓app的流程
- 2024-11-05 Java基本语法——流程控制 java中流程控制语句
- 2024-11-05 Java语法入门006 java语法一览表
- 2024-11-05 Java基础语法&数组 java数组菜鸟教程
- 2024-11-05 Java编程基础阶段笔记 day03 Java基本语法(中)
- 2024-11-05 八、Java基本语法元素-变量与常量
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)