彻底明白:与或非的使用
1.题目:有1、2、3、4、个数字,能组成多少互不相同且无重复数字的三位数?都是三位
注:程序分析:可填在百位、十位、个位的数字都是1、2、3、4.
组成所有排列后再去掉不满足条件的排列。
先来一个python的答案、再java。
答:python版
count=0 #定义变量记录个数 for i in range(1,5): # i变量1-5 for j in range(1,5): # j变量1-5 for k in range(1,5): # k变量1-5 if(i!=j)and (j!=k) and (k!=i): #计算对比不同值 count += 1 #计算个数 print (i,j,k) # 输出三位数 print ("一共",count,"个三位数")
答:java版
public static void main(String[] args) { // “!”(逻辑非)、“&&”(逻辑与)、“||”(逻辑或)是三种逻辑运算符 int count =0; for (int i=1;i<5;i++){ for (int j=1;j<5;j++){ for (int t=1;t<5;t++){ if (i!=j&&j!=t&&t!=i){ count++; System.out.println(i+" "+j+" "+t); } } } } System.out.println(count); }
第一种:中的
count+=1;
意思也是加一的可以换成 0+1=count
与第二种的
count++;
意思是差不多都是加1记录次数。
还有一个就是
“!”(逻辑非)、“&&”(逻辑与)、“||”(逻辑或)是三种逻辑运算符
逻辑非:0变1,1变0;简单记忆就是取反;
逻辑与:两个都为1则取1,否则取0;
逻辑或:其一为1则取1,否则取0
简述:
非:指不等于的意思
例:
System.out.println(
if(1!=2))
//输出true
与:指有一方为false,结果都为false
System.out.println(if (i!=j&&j!=t&&t!=i));
或:指一方为true,结果都为true
欢迎关注小编的公众号,更多学习视频、模板、工具(wind激活工具)!!!
相关文章