黑马程序员技术交流社区
标题:
JAVA技术贴
[打印本页]
作者:
基地基地
时间:
2019-3-12 13:51
标题:
JAVA技术贴
javaee0基础
1.字节 Byte 是计算机的最小存储单位
2.java的跨平台性:
java代码的运行 依赖JVM虚拟机
之所以能在任何平台上运行 原因就是 在该平台必须的有JVM
JDK: java开发工具包 程序员
JRE: java运行环境 运维人员
JVM: 运行java代码必须的条件
3.HelloWorld 编写
1.编写源代码
// HelloWorld是咱们定义的一个类名 要求类名和文件名一般都是要求的一致
public class HelloWorld{
/*
main方法写法是固定的 一般不会发生变化
他是程序运行的一个入口文件
*/
public static void main(String[] args){
//打印输出语句
System.out.println("hello ,21");
}
}
4.关键字:java中已经使用到的相关的单词 在java中有特殊的一个意思
关键字特点: 都是小写字符 如果是在增强的记事本里面显示特殊的颜色
5. 标识符:我们自己定义的相关信息 组成部分: 26个字母 数字0-9 、$ 、 _ 、不能以数字开头、不能是关键字
6. 常量:在运行期间不会发生变化的量
7. 基本数据类型:
整数类型: byte short int long
浮点类型: float double
字符型: char
布尔型: boolean
8.变量:在运行期间会发生变化的数据
9..数据类型转换:
1.自动类型转换
特点:不要我们做任何操作
数据范围从小到大 double > float >long >int >char >short > byte > boolean
2.强制类型转换:
特点: 数据范围从大到小
需要我们进行相关的操作
int num = (int)3000000000L;
byte b = 10;
格式:数据范围小的类型 数据范围小的变量 = (数据范围小的类型)数据范围大的数据
10.运算符:
四则运算:加 + 减 - 乘 * 除 /
11.自增 ++ 自减 --
12.
赋值运算符:
基本的赋值运算符 =
复合型赋值运算符:
+= -= *= /= %=
13. 比较运算符: 得到的结果都是boolean类型的
大于 > 小于 < 等于 == 大于等于 >= 小于等于 <= 不等于 !=
14.三元运算符:
格式: 数据类型 变量名 = 条件判断 ? 表达式1(如果条件成立 结果是表达式1) : 表达式2(如果条件不成立结果是表达式2);
15.方法的定义:
格式:
public static void 方法名(){
方法体;
}
16.流程控制语句:
顺序语句结构:
自上而下 依次执行
判断语句结构:
单if语句:
格式:
if(条件判断 结果 一定得是Boolean类型的){
语句体;
}
17.选择语句 switch :
格式:
switch(表达式){
case 常量1:
语句体1;
// break;
case 常量2:
语句体2;
break;
...
case 常量n:
语句体n;
break;
default:
语句体;
break;
}
18.or 循环:
格式: for(①初始化语句;②条件表达式;④步进语句){
③循环体
}
顺序是①初始化语句》②初始化语句》③循环体》④步进语句
19.while 循环:
格式:
标准格式:
while(条件表达式){
循环体;
}
扩展格式:
①初始化语句
while(②条件表达式){
③循环体
④步进语句
}
20.do-while 循环:
格式:
标准格式:
do{
循环体;
}while(条件判断);
扩展格式:
初始化语句
do{
循环体;
步进语句;
}while(条件判断);
21.关键字 break
1.switch里面用到 一旦遇到break 语句直接结束
2.在循环里面用到了break 会直接跳出循环 循环终止
关键字 continue
作用: 一般都是在循环语句中 跳出本次的循环(当前次的循环在continue 后面的内容全部都不执行) 执行下一次循环的操作
死循环:
格式:
while(true){
循环体;
}
22.方法的简单的定义格式:
public static void 方法名(){
方法体;
}
23.方法调用:
单独调用:方法名(参数1,参数2...); // 如果返回值为void 只能使用这种单独调用
打印调用:System.out.println(方法名(参数1,参数2...));
赋值调用:数据类型 变量 = 方法名(参数1,参数2...);
24.数组:
定义:数组是一种容器 用来存储多个数据
特性:
1.是一种引用数据类型
2.数组的数据类型要求必须全部统一
3.在程序运行期间数组的长度不能改变
25.
数组的创建(初始化):
动态初始化:(指定的是长度)
数据类型[] 数组名 = new 数据类型[数组长度];
26.获取数组的长度:
数组名.length
数组再运行期间长度不会发生变化的
27.面向对象:
面向对象:java C++ OC 不在乎是怎么做的 只要知道 找谁能把这件事情做了 主要研究的是对象的功能
面向过程:C语言 最最要的就是对过程把控 亲力亲为 对每一个步骤都是自己做的
28.Scanner 类
导包 import java.util.Scanner;
创建:
Scanner sc = new Scanner(System.in);
使用:
sc.nextInt();//获取一个整型的数据
sc.next();//返回时一个字符串
29.Random 类 生成一个随机数
导包: import java.util.Random
创建:
Random rd = new Random();
使用:
rd.nextInt();//随机生成一个在int范围(正负21亿左右)内的数据
rd.nextInt(int num);//生成一个num范围内的随机数据 随机数的范围是[0,num);
30.ArrayList 集合
跟数组有什么样的区别:
1.数组的长度在程序运行期间是不能发生改变的 而集合是可以变化的
2.数组是可以存储任意的数据类型 集合只能存储引用数据类型
31.字符串:
String str ="woaijava";
1.字符串一旦创建内容无法改变也可称为字符串常量
2.char[]打印的并非是地址值 而是一个字符串 String底层使用的byte[] 存储的
32.继承:
继承的主要功能就是实现类的共性的抽取
特点:
1.子类拥有父类的所有可继承的内容
2.子类除了可以继承父类的内容之外 还可以有自己的专属的内容
猜丁壳小游戏:
import java.util.Random;
import java.util.Scanner;
//石头2剪刀1 布0
public class test2Stone {
public static void main(String[] args) {
Random num = new Random();
int num11 = num.nextInt(3);//随机抽取0到3之间的数字除了3
Scanner input = new Scanner(System.in);//键盘输入
while (true) {
System.out.println("请输入0~3之间的数");
int guess = input.nextInt();
if (guess == num11) {//判断随机数和键盘输入数是否相同
System.out.println("平局!,你出了" + guess + "电脑出了" + num11 + "请重新来");
} else if (guess < num11 && num11 - 1 == guess) {//判断随机数和键盘输入数是否不同
System.out.println("电脑赢了!,你出了" + guess + "电脑出了" + num11 + "请重新来");
} else if (0 > guess || guess >= 3) {//判断随机数的取值范围
System.out.println("数据错误,请重新输入");
} else {
System.out.println("你赢了!,你出了" + guess + "电脑出了" + num11);
break;//终止循环
}
}
System.out.println("游戏结束");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2