java开发环境
数据与表达式
条件语句
循环语句
数组
Java开发环境
Java程序的运行原理
Java语言:跨平台、适合分布式计算环境、面向对象编程语言
Java为什么跨平台:Java引用虚拟机(jvm),使其能运行于不同的平台。Java虚拟机是运行Java程序的抽象计算机,是Java语言的运行环境。Java虚拟机是可执行程序,用来执行Java程序。
Java运行步骤:编写、编译、运行
Java编译器和虚拟机在JDK里面。
Java程序开发环境
Java应用程序开发离不开JDK和JRE
JDK是Java语言编译环境,JRE是Java语言运行时环境
安装好JDK和JRE,设置好环境变量后才可编译和执行Java程序,JDK里面包括JRE。
数据与表达式
数据类型
四类八种
整型:byte,short,int,long
实型(浮点型):float、double
字符型:char
布尔型:boolean
关键字是事先定义的、有特别意义的英文单词,有时也叫保留字,对编译器有着特殊含义,不能作为他用。
整型:没有小数部分的整数
byte 1字节 8位(首位是符号位)
short 2字节 16位
int 4字节
long 8字节
实型(浮点型):带有小数部分的数据类型
float:单精度浮点型,4个字节
double:双精度浮点型,8个字节,默认double
字符型:单个字符
char 2个字节
boolean:两个逻辑状态之一的值,取值只有true,false
数据类型转换:
byte->short->char->int->long->float->double
常量与变量
常量
常量不能修改,变量可以修改
整型常量:
十进制
八进制:以0为前缀
十六进制:以0x或0X为前缀
实型常量:
十进制小数形式:小数点前后都可以没有数字,但不能同时没有数字
指数形式:3.14e2表示3.14*10^2
字符型常量、字符串常量
自定义:final 类型 常量名=常量值
标识符:字母、数字、下划线、$ 第一个字母不能是数字,关键字不能作为标识符,区分大小写
变量
先声明再赋初值
成员变量:
类变量(静态成员变量):定义于类体内部,独立于方法之外的变量,用static修饰
实例变量:定义在类体内部,独立于方法之外的变量,无static修饰
局部变量:类方法中的变量
成员变量在整个类体中有效,局部变量只在方法体或语句块中有效
数据操作
运算符的种类优先级
++ --只能用于变量不能用于表达式
& &&同时为真才为真 | ||只要有一个为真就为真 !非 (&和|没有短路现象)
赋值运算符左边是变量右边是表达式,如果一致直接赋值到左边,不一致将自动转换为左边变量的类型再赋值
表达式1?表达式2:表达式3 如果表达式1成立则表达式2,不成立则表达式3
语句
单行注释:// 多行:/* */ 文本:/** */输入输出:
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();//得到从控制台输入的一个数字
double d=sc.nextDouble();
String s=sc.next();
//输出
System.out.println(d);//输出后换行,System.out.print(d)不换行
条件语句
算法五大特征:有穷性,确定性,可行性,0或多个输入,1或多个输出
通常用流程图表示算法
顺序:从上到下 选择:if,switch语句 循环:while,do while
if语句
if(表达式)
语句
if(表达式)
语句1
else
语句2
if(表达式1)语句1
else if(表达式n) 语句n
else 语句n+1
switch
switch(表达式){ //表达式不能是浮点型)
case 常量表达式 :语句1 (break)//若干个case ,如果没有break,匹配到某一条语句,执行完后还会执行之后的case语句
......
default:语句n+1 //所有case都不匹配才会执行,可选的
}
循环语句
for循环
for(表达式1;表达式2;表达式3)
循环体
- 求解表达式1
- 判断循环表达式2;如果值为真,执行循环语句,然后执行3;如果为假,跳出循环执行5
- 求解表达式3
- 跳回2重复执行
- 循环结束,执行for循环之后的语句
while和do while
while(表达式)
语句
do{
语句
}while(表达式);
跳转语句
break:跳出整个的所有的循环
continue:跳出一次循环
数组
一维数组
相同数据类型的元素按照一定顺序排列的集合
声明:int s[]或者int[] s
动态初始化:声明后,数组名称=new 数据类型[长度] int s[];s=new int[3];
声明与初始化合并:数组类型[] 数组名称=new 数据类型[长度]int s[]=new int[3]
用new为数组分配内存后,自动用数据类型默认值初始化所有数组元素
boolean:false;整型:0;浮点:0.0f或0.0D
静态初始化:
数组元素类型 数组名[]={值1,值2,值3......};不必给出数组大小,自动按照值的个数计算出数组的长度并分配空间。
二维数组
声明:int a[][];或 int[][] a;
初始化:
直接指定:int[][] a={{3,3,3}{6,7,4}};
使用new操作符:Int[][] a=new int [2][3];
int a[][]=new int [2][];a[0]=new int [3];第一行三列;a[1]=new int [4];第二行四列;
行数:数组名.length 数组名[行标].length