public class Test {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a && b));
System.out.println("a || b = " + (a || b) );
System.out.println("!(a && b) = " + !(a && b));
}
}
true表示满足,false表示不满足
条件运算符:
示例:
java复制代码
public class Test {
public static void main(String[] args){
int a , b;
a = 10;
/**
(a == 1) ? 20 : 30;是固定写法
意思是 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
(a == 1)这样 == 表示a的值是否等于1,这里如果是等于就是true不等于就是
false 也就是这里不能说等于要说满足不满足
*/
b = (a == 1) ? 20 : 30;
System.out.println( "Value of b is : " + b );
/**
(a == 10) ? 20 : 30;是固定写法
意思是 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
*/
b = (a == 10) ? 20 : 30;
System.out.println( "Value of b is : " + b );
}
}
运行结果
条件语句:
示例:用来控制代码的走向
java复制代码
int num = 10;
if (num > 0) {
System.out.println("这个数是正数");
} else {
System.out.println("这个数不是正数");
}
运行结果:
然后这个if和else还可以有如下的写法
java复制代码
int score = 85;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
运行结果:
循环:
循环就是字面意思,实际效果就是多次执行一段代码
示例:只要写了while这个单词就说明这是一个循环
java复制代码
public class Hello {
public static void main(String[] args) {
int count = 0;
/**
* count < 3是循环的条件,只要满足它就会一直执行
* System.out.println("执行中..."+count);
* count += 1;
* 这两段代码
*/
while (count < 3) {
System.out.println("执行中..."+count);
count += 1;
}
}
}
运行效果:
java语言中有多种循环上面是第一种
还有一个do..while循环,这个循环不管满足不满足都会执行一次
示例:
c++复制代码
public class Hello {
public static void main(String[] args) {
int count = 0;
do {
System.out.println("执行中...");
count += 1;
} while (count < 3);
}
}
运行结果:
然后还有一个for循环
java复制代码
public class Hello {
public static void main(String[] args) {
// i++ 先赋值在运算
//++i 先运算在赋值
for (int i = 0; i < 10; i++) {
System.out.println("哈哈哈");
}
}
}
public class Hello {
public static void main(String[] args) {
byte v1 = 32;
short v2 = 10000;
int v3 = 22221331;
long v4 = 554534353424L;// long类型后面要加一个L
}
}
在java语言中字符串合并是通过StringBuilder类型或StringBuffer类型合并的,StringBuilder类型或StringBuffer类型它俩用法都一样,区别一句两句写不明白现记着StringBuilder类型或StringBuffer类型它俩用法都一样就行,String和它俩的区别,String a = "ass"; 这样就会发现如果还有个文字bbb,怎么放到a里?没办法放,想放就不能用String类型要使用StringBuilder类型或StringBuffer类型,它们俩有一个append函数,这个函数可以做合并操作
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
/**
* ArrayList和LinkedList查询和插入时间
*/
public class ListTest {
public static void main(String[] args) {
/**
<Integer>表示要存放Integer类型
如果不写<XX>这个东西默认存放Object类型,也就是任意类型数据
*/
ArrayList<Integer> arrayList = new ArrayList<Integer>();
LinkedList<Integer> linkedList = new LinkedList<Integer>();
//插入十万数据
for (int i = 0; i < 100000; i++) {
arrayList.add(i);// add函数用来添加数据
linkedList.add(i);
}
//记录时间
//System.out.println("array查询时间:"+gettime(arrayList));
//System.out.println("linked查询时间:"+gettime(linkedList));
System.out.println("array插入时间:"+inserttime(arrayList));
System.out.println("linked插入时间:"+inserttime(linkedList));
}
//插入数据
private static long inserttime(List<Integer> list) {
long number = 10000;//插入的数据量 10000 50000 80000
int index = 10000;//从哪里开始插入 100 1000 10000
long time = System.currentTimeMillis();
for (int i = 0; i < number; i++) {
list.add(index,i);
}
return System.currentTimeMillis()-time;
}
//查询数据
public static long gettime(List<Integer> list){
long time = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
//根据索引值找到对应索引
int search = Collections.binarySearch(list, list.get(i));//list.get(0)表示获取第一个数据list.get(2)表示获取第三个数据
if (search!=i){
System.out.println("索引值错误!");
}
}
return System.currentTimeMillis()-time;
}
}