最全Java初阶的一些代码,javamybatis面试题

最后

Java架构进阶面试及知识点文档笔记

这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理

image

Java分布式高级面试问题解析文档

其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!

image

互联网Java程序员面试必备问题解析及文档学习笔记

image

Java架构进阶视频解析合集

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取


public class TestDemo {

    public static void main(String[] args) {

        //求0-100中9出现的次数

        int i=0;

       int count=0; //利用count进行计数

       for(i=0;i<=100;i++){

           if(i%10==9){

               count++;

           }

           if(i/10==9){//此处不能用else if(因为99有两个9需要被计算两次)

               count++;

           }

       }

        System.out.println("0-100中9出现的次数为:"+count);

    }

}

2.输出1000-2000里的全部闰年


public class TestDemo {

    public static void main(String[] args) {

        System.out.println("1000-2000中闰年如下:");

        int i = 1000;

        for (i = 1000; i <= 2000; i++) {

            //加括号更好理解;前者为公历闰年;后者为世纪闰年

            if (((i % 4 == 0) && (i % 100) != 0) || (i % 400 == 0)) {

                System.out.println(i);

            }

        }

    }

}



3.打印素数(0-100内的所有素数)


public class TestDemo {

    public static void main(String[] args) {

        System.out.println("素数如下:");

    int i=1;

    int j=1;

    for(i=1;i<=100;i++){

        int count=0;

        for(j=1;j<=i;j++){

            if(i%j==0){

                count++;

            }

        }

        if(count==2){

            //一个素数只有1和它本身两个因数;

            //上面的循环也是从1开始到其本身结束,与此处形成对应

            System.out.println(i);

    }

    }

    }

}

4.输入一个数,判断其是否为素数


import java.util.Scanner;



public class TestDemo {

    public static void main(String[] args) {

        System.out.println("请输入一个数并判断其是否为素数:");

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        suShu(n);

    }



    public static void suShu(int x) {

        int i = 2;

        for (i = 2; i < x; i++) {

            if (x % i == 0)

                System.out.println(x+"不是素数");

        }

            System.out.println(x + "是素数");

        }

    }





5.打印X型


import java.util.Scanner;



public class TestDemo {

    public static void main(String[] args) {

        System.out.println("打印X型:");

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        daYin(n);

    }



    public static void daYin(int x) {

        int i = 0;

        int j = 0;

        for (i = 0; i < x; i++) {

            for (j = 0; j < x; j++) {

                if (i == j) {

                    System.out.println("*");

                } else if (i + j

                        == x - 1) {

                    System.out.println("*");

                }else

            System.out.println(" ");

            }

        }

        System.out.println();}

}



6.计算分数


public class TestDemo {

    public static void main(String[] args) {

        System.out.println("请计算1-1/2+1/3-1/4+1/5+...+...1/99-1/100的结果");

        int i=1;

         double sum=0.0;

         int flg=1;

          for(i=1;i<=100;i++){

              sum=sum+1.0/i*flg;//先思考连加的形式,再在加的基础上更改成为减

              flg=-flg;

          }

        System.out.println(sum);

}



}



7.水仙花(输入一个整数,使它满足水仙花的规律;例如:153=13+53+3^3)


import java.util.Scanner;

public class TestDemo {

    public static void main(String[] args) {

        System.out.println("请输入一个数,求得0-这个数所有满足水仙花的数如下:");

        //求是几位数,利用count进行计数

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        findNum(n);

    }



    public static void findNum(int n) {



        for (int i = 0; i <= n; i++) {

            //count从1开始是因为数至少都是一位数

            int count = 1;

            int tmp = i;

            while (tmp / 10 != 0) {

                count++;

                tmp /= 10;

            }//用临时变量tmp是为了确保i值的不变性,为后续i继续计算做铺垫

            tmp =i;

            int sum = 0;

            while (tmp != 0) {

                //Math.pow(底数, 指数);

                //Math.pow(a, 3);等价于   a*a*a;

                sum += Math.pow(tmp % 10, count);

                tmp /= 10;

            }

            if (sum == i ){

                System.out.println(i);

            }

        }

    }

}







8.最大公约数(方法:利用辗转相除法)

辗转相除法:即较大数除以较小数,将除数作为被除数,余数作为除数,再次除,直到余数

import java.util.Scanner;

public class TestDemo {

public static void main(String[] args) {
    System.out.println("请输入两个数,并求出两个数里的最大公约数:");

Scanner sc=new Scanner(System.in);

int n1=sc.nextInt();

int n2=sc.nextInt();

int tmp=0;

while(n1%n2!=0){

   tmp=n1%n2;
   n1=n2;
   n2=tmp;

}

    System.out.println(n2);

}

}

为零时求得的除数即最大公约数

9.二进制中1的个数

import java.util.Scanner;

public class TestDemo {

public static void main(String[] args) {
    System.out.println("请输入一个数,并求出它的二进制中1的个数");

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

System.out.println(geShu(n));

}

public static int geShu(int x){

int count=0;
while((x&1)!=0){
    count++;
    x=x>>>1;//>>>相比于>>的好处在于无符号的限制,就可以计算类似于-1的位数
}

return count;

}

}

原理如下

10.模拟登陆(可登录三次密码,输入成功就进入,三次输入失败就宣布结束)

import java.util.Scanner;

public class TestDemo {

public static void main(String[] args) {
    System.out.println("请输入你的密码");
    login();
}
public static void login() {
    Scanner sc = new Scanner(System.in);
    int count = 3;
    while (count != 0) {
        String str = sc.nextLine();//每次输入的需要,确保密码错误的时候可以再输入的保证
        if (str.equals("123456")) {
         //比较两个字符串是否相等,不能直接用=进行连接。
         //要调用equals函数进行调用
            System.out.println("密码正确!");
           break;
        } else {
            count--;
            System.out.println("密码错误,你还有" + count + "次机会");
        }

感受:

其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。

特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。

也祝愿各位同学,都能找到自己心动的offer。

分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档

拿到字节跳动offer后,简历被阿里捞了起来,二面迎来了P9"盘问"

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

感受:

其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。

特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。

也祝愿各位同学,都能找到自己心动的offer。

分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档

[外链图片转存中…(img-S4oXgLKG-1715566515401)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值