Java语言基础知识整理汇总

表达式和运算符:

算术运算符:

元代表多少个操作数,一元表示一个操作数;

一元运算符:++自增(只能是变量),++a等价于a = a+ 1;

++a 与 a++ 有区别: ++a 先自增 在运算 a++ 先运算 在自增

实操: int a = 5;

int b = ++a + ++a + a++ + a++ + ++a; 输出 a 、b 的值;

+:

1、如果+号两边都是数字,计算功能

2、如果+号两边只要有一边是非数字,连接功能

Infinity 正无穷大, NaN 非数 not a number

%: 取模,返回两个操作数整除后的余数,注意: 整形对0或者0.0取膜,得到的数是非数 NAN;任何数对比他本身大的数取膜时,得到的结果就是他本身

实操: 输入一个四位数,求该四位数的个位、十位、百位及千位之和;

关系运算符:

判断两个或者多个表达式之间的关系是否成立,返回结果:true/false

<,>,>=,<=,!=,==

逻辑运算符:

与:并且(&&),短路与

(exp1 && exp2) 4> 3 && 'c’ > 'a’

exp1 == true, exp2 == true ----->true

exp1 == true, exp2 == false ----->false

exp1 == false, 不计算exp2的值 ----->false

&:逻辑与

(exp1 & exp2)

exp1 == true, exp2 == true ----->true

exp1 == true, exp2 == false ----->false

exp1 == false, 计算exp2的值 ----->false

或:或者(||),短路或

(exp1 || exp2)

exp1 == false, exp2 == true ------>true

exp1 == false, exp2 == false------>false

exp1 == true, 不计算exp2的值------>true

|:逻辑或:有一个结果为true,那么最终的计算结果为true否则为false

(exp1 | exp2)

exp1 == false, exp2 == true ------>true

exp1 == false, exp2 == false------>false

exp1 == true, 计算exp2的值-------->true

按位或 | 按位与 & 两边接数字时首先得把两边的十进制数字转换为二进制

运算规则:

0|0=0;0|1=1;1|0=1;1|1=1;

0&0=0;0&1=0;1&0=0;1&1=1;

异或:^ 当两个表达式结果不同返回true

赋值运算符:从右向左执行运算的,=左边只能是变量

条件运算符:(三目运算符)

变量 = exp1 ? exp2 : exp3;

注意!!!

1.exp1的结果为true,则变量的值为 exp2 否则为 exp3;

2.变量的数据类型必须与exp2、exp3的值的数据类型相同

控制流语句:

1、判断语句:

if

语法:if(条件判断){

code;

}

if…else

语法:if(condition){

code1;

}else{

code2;

}

if…else if…else if…else

语法:if(condition1){

code1;

}else if(condition2){

code2;

}else if(condition3){

code3;

}else{

code4;

}

2、switch分支语句

数据类型 变量名 = 变量值;

语法:switch(变量名){

case 值1:code1; break;

case 值2:code2; break;

case 值3:code3; break;

default:code4; break;

}

注意!!!

此数据类型只能为:byte、short、char、int ,JDK1.7版本后 String(字符串)也适用于switch;

实操:

1、从控制台输入星期(1-7),如果是输入的1-5,打印工作愉快,如果输入的是6或者7,打印周末愉快,如果输入的不是1-7之间的数字,则打印输入错误!(用if…else if…else if…else和switch实现);

2、陆续输入三个整数,运用条件运算符来求出这三个数中的最大数,最小数;

附源码如下:

import java.util.Scanner;

public class Dome1 {

public static void main(String[] ages) {

for (int i = 1; i <= 5; i++) { // 控制行

for (int j = 1; j <= 5 - i; j++) { // 控制列

System.out.print(' ');

}

for (int k = i; k >= 1; k--) { // 控制数字

System.out.print(k);

}

for (int num = 2; num <= i; num++) { // 控制后数字

System.out.print(num);

}

System.out.println(); // 自行换行

}

// 获取个位十位百位千位的方法

Scanner sc = new Scanner(System.in);

int num = sc.nextInt();

int he;

int qianwei = num / 1000;

int baiwei = num % 1000 / 100;

int shiwei = num % 100 / 10;

int gewei = num % 10;

he = qianwei + baiwei + shiwei + gewei;

System.out.println('和为:' + he);

/*

* 陆续输入三个整数,运用条件运算符来求出这三个数中的最大数,最小数

*/

Scanner sc2 = new Scanner(System.in);

int i = sc2.nextInt();

int j = sc2.nextInt();

int k = sc2.nextInt();

int max = i > j ? (i > k ? i : k) : (j > k ? j : k);

System.out.println(max);

int min = i > j ? (j > k ? k : j) : (i > k ? k : i);

System.out.println(min);

int n = 7;

int m = 2;

int k2 = ++n + m-- + (++m - n-- + m++) + ++n;

// 求 n , m , k的值

n = 8;

m = 3;

k2 = 14;

// 1268 & 102 45 | 17

System.out.println(1268 & 102); // 100

System.out.println(45 | 17); // 61

}

(0)

相关推荐