一、java运算符
1、算术运算
package operator;
public class a {
public static void main(String[] args) {
int a = 10;
int b = 100;
int c = 2;
int d = 12;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/((double)b));
//double强制转换,防止小数舍入
}
}
自增:++
自减:–
package operator;
public class b {
public static void main(String[] args) {
int a = 10;
int b , c;
b = a++;
//先把a的值赋予给b,a再自增
c = ++a;
//先把a自增,再把a的值赋予给b
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
concle
a = 12
b = 10
c = 12
2、逻辑运算符
与:&&
或:||
非:!
package operator;
public class c {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b : " + (a&&b));
/*字符串拼接的时候,直接输出内容不同于python的 " " 和' '都可以,只能用双引号 " " ,中间 使用 + 连接*/
System.out.println("a || b : " + (a||b));
//+ 后面内容必须添加()才能识别
System.out.println("!(a&&b) : "+ !(a&&b));
}
}
短路运算
一些逻辑运算,每行代码执行从左到右,若执行中断,则每行后续代码不执行
package operator;
public class d {
public static void main(String[] args) {
int a = 5;
boolean b = (a<4)&&(a++<4);
System.out.println(a);
//由于b在与符号前面就定义为false,后面没有执行,a没自增
System.out.println(b);
}
}
concle
a = 5
b = false
3、位运算符
^:异或,相同为零
<< :左移 >> :右移
package operator;
public class e {
public static void main(String[] args) {
int a = 2;
System.out.println(a<<3);
//二进制的展开右移三位
}
}
concle
16
4、三元运算符
?: a ? b : c ,当a为真(true),取b值,当a为假(false),取c值
package operator;
public class e {
public static void main(String[] args) {
int a = 2;
// System.out.println(a<<3);
int b = 10;
a += b;//a = a + b
System.out.println(a);
System.out.println(a+b);
System.out.println(""+a+b);
//拼接字符串时,若运算之前出现字符(包括空字符),则转换为拼接,后续+为拼接运算
System.out.println(a+b+"");
//若先运算,再出现字符(包括空字符),正常运算
int c = b < 10 ? 1 : 2;
//三元运算符,b<0,为真,则c=1,反则c=2
System.out.println(c);
}
}
concle
a = 12
a + b = 22
""+a+b = 1210
a+b+"" = 22
c = 2
二、java方法
函数
1、方法定义使用
package functiion;
public class a {
// void不用返回值,int返回值,类似c语言
public static void main(String[] args) {
int a = add(1,2);
//1,2 为实参
System.out.println(a);
}
//方法(函数)
public static int add(int a,int b) {
//加入static,变为类变量,类中其他部分可以直接调用
//int a , int b 为形参
return a + b;
}
}
package functiion;
public class b {
public static void main(String[] args) {
int a = compare(1,1);
System.out.println(a);
}
//比大小函数
static int compare(int a,int b) {
int c = 0;
if (a == b) {
System.out.println("a = b");
return 0;
//return 0 有终止函数的功能,出现这个时,输出0,停止函数
}
else if(a > b) {
c = a;
}
else {
c = b;
}
System.out.println("return 0");
//验证return 0的终止功能
return c;
}
}
concle
a = b : a = b 0
a > b : return 0 a
a < b : return 0 b
2、方法重载
一个类中的方法可以重名,参数不同(类型、数量)
static void a(int a,int b){
}
//void 换成 int不行
static void a(float a,float b){
}
static void a(int a,int b,int d){
}
3、可变参数
package functiion;
public class d {
public static void main(String[] args) {
int a;
a = add(1,2,3,4,5,6,7,8,9,10);
//可变参数,随便加
System.out.println(a);
}
static int add(int...i){
//类型...变量名表示可变参数,只能放在变量最后当最后一个变量,存储结构为数组
int a = 0;
for (int j=0;j<i.length;j++){
a += i[j];
}
return a;
}
}