引用数据类型
java中的字符串只能用双引,没有范围
String v1 = "张三";
拼接字符串
System.out.println("早上好:" + v1 + ",吃饭了吗?");
基本数据类型有8种,除了基本数据类型,都是引用数据类型
构建一个工具,键盘输入
Scanner in = new Scanner(System.in);
开始输入
String s = in.next();
System.out.println("你输入了:" + s);
包的命名规则:(包实际上就是文件夹,分门别类)
1、尽量使用全小写字母
2、尽量不要出现下划线$、数字
3、一般情况下,使用站点名的逆序,www.baidu.com
包名就是com.baidu.模块名
包名com.baidu.架构名
根据实际情况com.baidu.模块.架构.功能.xxxx
流程控制
1.多重if之间没有联系,这些if有可能都执行
if(a == 10)
if( b == 20)
2.if...else if ... else...
else互斥功能,一套结构中至多走一个
在写if...else if的时候,要注意条件的顺序 范围小的写上面
int a = 10;
if(a > -1){
xxxxx
}else if(a > 0){
xxxx
}
3.如果情况比较多,条件判断比较复杂,最后一种不建议直接写else,最后必须是有百分之百的把握才可以写else,否则,还是写else if
例题:
1.如果第一个数是8,并且第二个数是9,就打印两个数的和
2.如果其中有一个是8,有一个9,就打印两个数的差
3.如果两个数中既没有8也没有9,就分别打印两个数
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int num1 = sc.nextInt();
System.out.println("请输入第二个数:");
int num2 = sc.nextInt();
if (num1 == 8 && num2 == 9) {
System.out.println(num1 + "+" + num2 + "=" + (num1 + num2));
}else if(num1 == 8 || num1 == 9 || num2 == 8 || num2 == 9){
System.out.println(num1 + "-" + num2 + "=" + (num1 - num2));
} else if(num1!=8&&num2!=9&&num1!=9&&num2!=8) {
System.out.println("两个数分别为:" + num1 + "," + num2);
}
}
}
java里的switch只能判断如下数据类型
整型:byte、short、int
字符型: char
String:JDK7以后的版本包括7
枚举:JDK5以后的版本包括5
default的位置是灵活的,别乱放,用在switch case语句里
例题:
成绩管理系统, 键盘输入成绩,如果成绩是60分,及格; 如果成绩是85分,奖励你一台ipad; 如果成绩是100分,奖励你一台十三香promax;其他情况,没有奖励。
import java.util.Scanner;
public class Ch04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = sc.nextInt();
switch (score) {
case 60:
System.out.println("及格");
break;
case 85:
System.out.println("奖励一台ipad");
break;
case 100:
System.out.println("奖励一台十三香promax");
break;
default:
System.out.println("没有任何奖励...");
}
}
}
数组
数组一旦声明,必须指定长度
一维数组
int [] a1 = {1,2,3,4,5};
int a2[] = {1,2,3,4,5};不推荐
int [] a3 = new int[]{1,2,3,4}; 推荐
数据类型的初始值:
byte、short、int、long:0
float、double:0.0
char:\u0000=>' '
boolean:false
String:null
int[]:null
取值
System.out.println(a3[0]);
例题
创建一个数组[3];通过键盘输入,给数组中的元素赋值;不能用循环
import java.util.Scanner;
public class Ch06 {
public static void main(String[] args) {
int [] arr = new int [3];
Scanner sc = new Scanner(System.in);
int i = 0;
System.out.println("请输入第一个数:");
arr[i] = sc.nextInt();
i++;
System.out.println("请输入第二个数:");
arr[i] = sc.nextInt();
i++;
System.out.println("请输入第三个数:");
arr[i] = sc.nextInt();
System.out.println("数组的数据为:" + arr[0] + arr[1] + arr[2]);
}
}
break和continue
public class Ch03 {
public static void main(String[] args) {
// break和continue
for (int i = 1; i < 10; i++) {
// 需求 数7
// 从0到100 尾数是7或者是7的倍数
if(i % 7 == 0 || i % 10 == 7){
System.out.println("你数到了:" + i + ",喝酒吧!");
// 跳出循环
break;
// 终止当前次循环,开启下一次循环
// continue;
} else {
System.out.println(i);
}
System.out.println("哈哈哈!");
}
}
}
循环的标签:goto语法 goto功能 a标签 break控制a
public class Ch04 {
public static void main(String[] args) {
a:for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println("j=" + j);
if(j == 3){
/*
break和continue
只能控制理他们最近的循环
*/
break a;
// continue;
}
// System.out.println("哈哈哈");
}
System.out.println("i=" + i);
}
}
}
foreach,增强for循环 使用for循环遍历数组
遍历,把数组中的元素都操作一遍(访问一边)
public class Ch05 {
public static void main(String[] args) {
int [] arr = new int[]{12,45,76,89,-50};
for (int i : arr) {
// i就是数组中的元素
System.out.println(i+1);
}
}
}
while和do...while的区别:
do...while循环无论条件是否满足,循环至少执行一次。
while循环如果条件不满足,一次都不执行。
public class Ch06 {
public static void main(String[] args) {
int i = 10;
while(i < 100){
System.out.println(i);
i++;
}
do while循环
do{
System.out.println(i);
i++;
}while(i < 20);
终止程序执行的方式
0代表安全退出(知道即将要退出)
-1代表强制退出
如果用到System.exit()里面的数字用-1
System.exit(status:0);
二维数组遍历
for(int [] ints : arr){
for (int anInt :ints){
System.out.print( anInt + ",");
}
System.out.println();
}