1运算符
public class TestSign{
public static void main(String[] args){
int i1 = 10,i2 = 20;
int i = i1++;
System.out.print("i="+i+" "); //i=10
System.out.println("i1="+i1);//i1=11
i = ++i1;
System.out.print("i="+i+" ");//i=12
System.out.println("i1="+i1);//i1=12
i = i2--;
System.out.print("i="+i+" ");//i=20
System.out.println("i2="+i2);//i2=19
i = --i2;
System.out.print("i="+i+" ");//i=18
System.out.println("i2="+i2);//i2=18
}
}
2输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
public class Test {
public static void main(String[] args) {
for (int i = 100; i <999 ; i++) {
// 145, 145/100=1 (145-1*100)/10=4 145-1*100-4*10=5
int m =i/100;
int n=(i-m*100)/10;
int k=i-m*100-n*10;
// System.out.println(m+""+n+""+k);
int res=m*m*m+n*n*n+k*k*k;
if (res==i){
System.out.println(i);
}
}
}
}
------------------------------------------------------------------------------------------------
3编写程序FooBizBaz.java,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。
public class Test {
public static void main(String[] args) {
for (int i = 0; i <150 ; i++) {
String str="";
str+=i;
if (i%3==0){
str+=" foo";
}if (i%5==0){
str+=" biz";
}if (i%7==0){
str+=" baz";
}
System.out.println(str);
}
}
}
4 九九乘法表
public class Test02 {
public static void main(String[] args) {
for (int i = 1; i <=9 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print(i +" * "+j+" = "+i*j+" ");
}
System.out.println("");
}
}
}
5 获取arr数组中所有元素的和。使用for的嵌套循环即可。
int[][] arr = new int[][]{
{3, 8, 2},
{2, 7},
{9, 0, 1, 6}
};
int res = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <arr[i].length ; j++) {
System.out.println(res+=arr[i][j]);
}
}
6求数组最大小值,总和,平均数,复制,反转
int [] arr=new int[]{4,5,6,9,2,8};
int max=arr[0];//最大值
for (int i = 0; i <arr.length ; i++) {
if (max<arr[i]){
max=arr[i];
}
}
System.out.println(max);
int min=arr[0];//最小值
for (int i = 0; i <arr.length ; i++) {
if (min>arr[i]){
min=arr[i];
}
}
System.out.println(min);
//总和,平均数
int res=0;
for (int i = 0; i <arr.length ; i++) {
res+=arr[i];
}
System.out.println("总和为="+res);
System.out.println("平均数="+res/arr.length);
//复制 注意:复制不是赋值
int [] cope=new int[arr.length];//声明与arr一致的长度
for (int i = 0; i <arr.length ; i++) {//复制
cope[i]+=arr[i];//遍历赋值
System.out.println(cope[i]);
}
//int [] arr=new int[]{4,5,6,9,2,8};
//反转 声明一个长度一样,倒着循环赋值
int[] temp=new int[arr.length];
int k=0;
for (int i = arr.length-1; i >=0 ; i--) {
temp[k]=arr[i];
k++;
}
arr=temp;
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
}
7 冒泡排序
相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),下一次循环是将其它的数进行类似操作
public class TestSort {
public static void main(String[] args) {
//冒泡排序
//正序 //从小到大
//4,7,3,1
//4,3,1,7//第一轮得到一个最大数,放在倒数第一位
//3,1,4,7 //第二轮除了最后一个比
// 1,3,4,7
int arr[] = {4, 7, 3, 1};
int temp = 0;
for (int i = 0; i < arr.length - 1; i++) {//外层循环的次数,数组长度-1
for (int j = 0; j < arr.length - 1 - i; j++) {//每一轮次的数字对比排序,每轮次的循环依次4,3,2,轮子长度-1-i
if (arr[j] > arr[j + 1]) {//两个相邻的元素,前面大于后面的,交换
// if (arr[j] < arr[j + 1]) {//倒序,其他都一样
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
}
}
}