Java基本语法
2017-04-24 08:46:21 96 举报
AI智能生成
u
作者其他创作
大纲/内容
JAVA基本语法
程序:
对一系列动作执行过程的描述!
介绍
JAVAEE企业版
提供了企业级应用开发的完整解决方案
很多的网站都是采用Java EE技术开发
很多的网站都是采用Java EE技术开发
JAVASE标准版
Java技术的基础和核心
主要用于开发桌面应用程序
主要用于开发桌面应用程序
JAVAME小型版
JDK,JRE,JVM的关系
JDK:JAVA开发工具包
JRE:JAVA运行环境
JVM:JAVA虚拟机
JDK安装目录
bin:存放编译运行JAVA程序可执行文件
lib:存放JAVA类库文件
demo:存放演示文件
jre:存放JAVA运行环境文件
include:供C语言使用的文件
编写,编译,运行
DOS命令
D:进入D盘
cd 目录:进入文件夹
cd\ 返回最上级目录
cls:清屏
exit:退出
开发工具(IDE)
Eclipse
MyEclipse
Notepad++
MyEclipse
Notepad++
Eclipse快捷键
alt+?:自动补全代码或者提示代码
Ctrl+1:显示错误
Ctrl+Shift+f:格式化代码
Shift+enter:在当前行上下创建空白行
alt+↑↓:上下行交换
Ctrl+m:当前编辑页面窗口最大化
Ctrl+/单行注释
Ctrl+Shift+/多行注释
Ctrl+d删除当前行
Ctrl+z后退一步
Ctrl+Shift+x/y英文切换大小写
命名
命名规范
只能使用数字,字母,下划线,美元符号
数字不可以作为开头
命名不可以是关键字
区分大小写,没有长度限制
命名方法
大驼峰命名法:HelloWorld
小驼峰命名法:helloWorld
匈牙利命名法:hello_world
注释
//单行注释
/*多行注释*/
/**文档注释*/
转义符
\n换行
\t水平制表符
\\表示斜杠
\‘单引号\"双引号’
选择结构
if(){
}else(){
}
}else(){
}
处理简单的条件分支情况
当if下面只有一行语句的时候使用
if()
System.out.println(" ");
if()
System.out.println(" ");
直接结束,之后再执行代码块
if();{ }
if();{ }
多重if
if(){
}else if(){
}else{}
}else if(){
}else{}
处理复杂的条件分支情况
嵌套if
if(){
if(){}else{}
}else{}
if(){}else{}
}else{}
用于较为复杂的流程控制
switch
Switch(){
case 1:break;
default:break;
}
case 1:break;
default:break;
}
必须写break跳出,否走会自动先下运行程序,直至break;
多重分支并且条件判断是等值判断的情况
多重分支并且条件判断是等值判断的情况
default:用来处理剩余
JDK1.7之前Switch表达式只能是 byte,int,char,short,JDK1.5之后可以包含枚举,JDK1.7之后可以包含String;
.equals()
==是判断内存地址是否相等,equals是判断值是否相等
数组
数组是多个相同类型数据的组合(存储同一种数据类型的容器),实现对这些数据的统一管理。数组中每个数据称为数组的一个元素。 数组对应在内存中一段连续空间。(同一个数组中的元素必须是同一类型)
数组的基本元素
标识符:数组的名字
数组元素:向数组中存放的数据
元素下标(索引):对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型
new:申请一个空间
数组元素:向数组中存放的数据
元素下标(索引):对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型
new:申请一个空间
定义数组的方法
例子:int[] a = {1,2,3,4,5};
double b[] = {1.1,1.2,1.3};
int[] c = new int[3];//数组长度为三
String[] d = new String{"1","2","3"};
double b[] = {1.1,1.2,1.3};
int[] c = new int[3];//数组长度为三
String[] d = new String{"1","2","3"};
访问数组成员的方法:
a[0] = "访问数组第1个元素"
a[1] = "访问数组第2个元素"
a[i] = "访问数组第i个元素"
a[0] = "访问数组第1个元素"
a[1] = "访问数组第2个元素"
a[i] = "访问数组第i个元素"
.length方法,获得数组长度
int(数据类型)[](表示数组)= new(申请一个空间) int[长度];
数组下标越界异常:ArrayIndexOutOfBoundsException
空指针异常:NullPointerException
数组的常用方法
数组升序排序
使用java.util.Arrays类
Arrays类可以提供操作数组的方法
Arrays类可以提供操作数组的方法
.sort()方法:对数组进行升序排列
例子:
int[] scores = {1,50,5,6,85,99};
Arrays.sort(scores);
for(int i = 0;i<scores.length;i++){
System.out.print(scores[i]);
}
int[] scores = {1,50,5,6,85,99};
Arrays.sort(scores);
for(int i = 0;i<scores.length;i++){
System.out.print(scores[i]);
}
数组逆向排序
ArrayUtils.reverse(intArray);逆向排序
例子:
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
检查一个数组是否包含某个值
例子:
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
输出一个数组
例子:
int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);
int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);
例子:
String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");
String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");
链接两个数组
例子:
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
数组增加减少长度(复制数组)
例子:
animal22 = Arrays.copyOf(animal22, animal2_number + 1);//数组长度+1
animal22 = Arrays.copyOf(animal22, animal2_number + 1);//数组长度+1
数组元素默认值
byte,short,int,long :0
float,double: 0.0
char: "\u0000"
boolean:false
引用数据类型:null
float,double: 0.0
char: "\u0000"
boolean:false
引用数据类型:null
遍历数组
for循环
例子:
int[] scores = {1,2,3,4,5};
for(int i = 0; i < scores.length;i++){
System.out.println(scores[i]);
}
int[] scores = {1,2,3,4,5};
for(int i = 0; i < scores.length;i++){
System.out.println(scores[i]);
}
增强for循环(foreach)
例子:
int[] scores = {1,2,3,4,5};
for(int a ; scores){
System.out.println(a);
}
int[] scores = {1,2,3,4,5};
for(int a ; scores){
System.out.println(a);
}
多维数组
二维数组
int[][] scores = new int[3][3];
二维数组的遍历
例子:
int[][] array = new int[][] { { 12, 23, 34, 45, 56 }, { 11, 22, 33, 44, 55, 66, 77 }, { 10, 21, 32 } };
int num;
for (int i = 0; i < array.length; i++) {
String str = (i + 1) + "班";
num = 0;
for (int j = 0; j < array[i].length; j++) {
num += array[i][j];
}
System.out.println(str + "总成绩:" + num);
}
int[][] array = new int[][] { { 12, 23, 34, 45, 56 }, { 11, 22, 33, 44, 55, 66, 77 }, { 10, 21, 32 } };
int num;
for (int i = 0; i < array.length; i++) {
String str = (i + 1) + "班";
num = 0;
for (int j = 0; j < array[i].length; j++) {
num += array[i][j];
}
System.out.println(str + "总成绩:" + num);
}
数据类型和运算符
48个关键字
abstract - boolean - break - byte - case - catch - char - class - continue - default - do - double - else - extends - false - final - finally - float -for - if - implements -import - instanceof -int - interface - long - native - new
-null - package - private - protected - public -return - short - static - super - switch -synchronized - this - throw -
throws - transient - try - true - void - volatile - while
-null - package - private - protected - public -return - short - static - super - switch -synchronized - this - throw -
throws - transient - try - true - void - volatile - while
基本数据类型
数值型
整型
byte(1字节8位)
short(2字节16位)
int(4字节32位)
long(8字节64位)
浮点型
float(4字节32位浮点数)后面+f
double(8字节64位浮点数)
double不能进行特别精确的小数相加减,如果出现这样的问题,我们可以用乘法将他变成int类型操作
字符型
char(2字节16位Unicode字符)
布尔型
boolean(1字节8位)
true
false
默认值
引用数据类型
类,数组,接口
String字符串
enum枚举类型
变量(其值可以改变的量,用来存储临时数据的)与常量(其值固定不变的量)
变量的定义
例子:int a = 1;
常量的定义
例子:final boolean flag = true;
自动转换与强制转换
自动转换:将低级别的类型赋予高级别的类型。
强制转换:将高级别的类型赋予低级别的类型。
例子:double d = 2.5;
int a = (int) d;
int a = (int) d;
运算符
赋值运算符:=,+=,-=,*=,/=,%=;
算数运算符:+,-,*,/,%(取余),++(自增),--(自减);
i++先取值再自增,++i先自增再取值
%,例子:-8%5=-1(符号跟被除数)
8%10=8
8%10=8
关系运算符:==,!=,>,<,>=,<=;
逻辑运算符:&(逻辑与)&&(短路与),|(逻辑或)||(短路或),^(逻辑异或:两个操作相同结果为false,不同为true),!(逻辑反);
短路与,短路或,当第一条件已经判断成功,则不运行第二条件(效率更高)
位运算符:&,|,^,~,<<,>>,>>>,<<<;
例子:不引用第三个变量进行两变量交换
int a = 0;int b = 3;
a = a^b;b = a^b;a = a^b;
int a = 0;int b = 3;
a = a^b;b = a^b;a = a^b;
随机数
Math.random()
例子:int a = (int)(Math.random()*10)
获得0-9随机数
例子:int a = (int)(Math.random()*37)
获得0-36随机数
例子:int a = (int)(Math.random()*37+1)
获得1-37随机数
Scanner对象
使用Scanner的步骤:
import java.util.Scanner;//导入Scanner类
Scanner input = new Scanner(System.in);//创建Scanner对象
int a = input.nextInt();
double b = input.nextDouble();
String c = input.next();
import java.util.Scanner;//导入Scanner类
Scanner input = new Scanner(System.in);//创建Scanner对象
int a = input.nextInt();
double b = input.nextDouble();
String c = input.next();
.charAt()截取字符串对应下标字符
例子:char flag = input.next().charAt(1);
当下标为1时,截取的是字符串中第二个字符
设置断点
运行方式:设置断点,Debug单步执行,观察变量
循环结构
循环方式
while循环
先判断循环条件,为真执行循环体,为假跳出循环语句。
例子:
while(循环条件){循环体}
while(循环条件){循环体}
do-while循环
先执行循环体,再判断循环条件,为真继续执行循环体,为假跳出循环。(循环体至少执行一次)。
例子:
do{循环体}while(循环条件);
do{循环体}while(循环条件);
for循环
先定义变量初始值,再判断循环条件,为真则执行循环体,修改循环变量的值,为假则终止循环。for循环用于以知循环次数的循环。
例子:
for(int i = 0,j = 0, g = 0;i < 15;i++){}
for(int i = 0,j = 0, g = 0;i < 15;i++){}
for与while循环的区别:
for初始化的变量在,循环结束后则不可使用
while,由于变量定义在while以外,这个变量在循环结束后还可以使用
while,由于变量定义在while以外,这个变量在循环结束后还可以使用
知道循环次数建议使用for
不知道循环范围建议使用while
不知道循环范围建议使用while
循环嵌套
外层循环一次,内层循环一遍
跳转
break
只会出现在switch和循环语句中没有其他使用场合,终止当前循环语句,然后执行循环后面的语句。
continue
只会出现在循环语句中,强制当前循环语句提前返回执行本次循环剩余的代码。
return
结束当前方法的执行并退出,返回调用该方法的语句处。
倒三角的做法1,3,5,7,9方法:(2*i-1)
记住number最后设置或(number-2)*2-1
0 条评论
下一页