当前位置: 首页 > article >正文

【Java笔试强训 27】

🎉🎉🎉点进来你就是我的人了
博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!

欢迎志同道合的朋友一起加油喔🤺🤺🤺


目录

一、选择题

二、编程题

  🔥 不用加减乘除做加法

  🔥三角形



一、选择题

1、用命令方式运行以下代码的运行结果是()

public class f{
	public static void main(String[] args){
		String foo1 = args[1];
		String foo2 = args[2];
		String foo3 = args[3];
	}
}

命令: java f a b c
A 程序编译错误
B a b c
C 程序运行错误
D f
正确答案: C
编译命令:javac源文件名称java*java -> *.class
运行命令:java主类名称要传递的参数(传递给main的args中) java fa b c args{a,b,c) [0-2]
2、若有定义语句: int a=10 ; double b=3.14 ; 则表达式 ‘A’+a+b 值的类型是()
A char

B int
C double
D float
正确答案: C
3、指出下列程序运行的结果()

public class Example{
	String str = new String("good");
	char[ ] ch = { 'a' , 'b' , 'c' };
	public static void main(String args[]){
		Example ex = new Example();
		ex.change(ex.str,ex.ch);
		System.out.print(ex.str + " and ");
		System.out.print(ex.ch);
	}
	public void change(String str,char ch[ ]){
		str = "test ok";
		ch[0] = 'g';
	}
}

A good and abc
B good and gbc
C test ok and abc
D test ok and gbc
正确答案: B
4、下列说法正确的是
A 在类方法中可用this来调用本类的类方法
B 在类方法中调用本类的类方法可直接调用
C 在类方法中只能调用本类的类方法
D 在类方法中绝对不能调用实例方法
正确答案: B
this表示当前对象引用,不能调用静态域。
静态方法没有对象可以直接调用。如果类方法中创建了对象,任然可以通过对象来调用实例。
5、可将语句块或方法设为同步使用的语句是()
A synchronized
B static
C abstract
D final
正确答案: A
6、已知如下类说明

public class Test{
	private float f=1.0f;
	int m=12;
	static int n=1;
	public static void main(String args[]){
		Test t=new Test();
	}
}

如下哪些使用是正确的()
A t.f = 1.0
B this.n
C Test.m
D Test.n
正确答案: D
参考答案:
A选项,浮点类型的默认类型是double,A选项中是由精度低的float类型向高精度的double类型转型,因此会报错。
B选项,this指向的是对象,而static类型的变量先于对象存在,无法通过this调用。
C选项,m是实例变量,无法通过类名直接调用,需要由对象调用。
D选项,被static关键字修饰的变量直属于类,可以由类名直接调用,因此正确答案为D。
7、有以下代码:

class A{
	public A(String str){
	}
}
public class Test{
	public static void main(String[] args) {
		A classa=new A("he");
		A classb=new A("he");
		System.out.println(classa==classb);
	}
}

请问输出的结果是:
A false
B true
C 报错
D 以上选项都不正确
正确答案: A
8、以下哪项不属于java类加载过程?
A 生成java.lang.Class对象
B int类型对象成员变量赋予默认值
C 执行static块代码
D 类方法解析
正确答案: B
参考答案:
成员变量不会被初始化,只有静态变量会被初始化,所以选B
9、如果一个方法或变量是"private"访问级别,那么它的访问范围是:
A 在当前类,或者子类中
B 在当前类或者它的父类中
C 在当前类,或者它所有的父类中
D 在当前类中
正确答案: D
参考答案:
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public : 对所有类可见。使用对象:类、接口、变量、方法
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
我们可以通过以下表来说明访问权限:

 10、java中下面哪个能创建并启动线程()

public class MyRunnable implements Runnable {
	public void run() {
	//some code here
	}
}

A new Runnable(MyRunnable).start()
B new Thread(MyRunnable).run()
C new Thread(new MyRunnable()).start()
D new MyRunnable().start()
正确答案: C
参考答案:
创建并启动线程的过程为:定义线程->实例化线程->启动线程。
定义线程有两种方式,一种是继承java.lang.Thread类,一种是实现java.lang.Runnable接口。这两种方式实例化线程区别在于,如果是继承了Thread类,直接new一个对象就可以了,如果是实现了Runnable接口的类,则需要用Thread的构造方法:

Thread(Runnable target) 
Thread(Runnable target, String name) Thread(ThreadGroup group, Runnable target) 
Thread(ThreadGroup group, Runnabletarget, String name) 
Thread(ThreadGroup group, Runnable target, String name, long stackSize)

二、编程题

   🔥 不用加减乘除做加法

    不用加减乘除做加法__牛客网

 【解题思路】:**数字的相加可以转换为二进制的加法,注意每一位相加与进位即可

  1. 两个数异或:相当于每一位相加,而不考虑进位;
public class Solution {
	public int Add(int num1,int num2) {
		while(num2!=0){
			int n = num1 ^ num2;//得到相加后不包含进位的数据
			int m = (num1&num2)<<1;//得到两数相加的进位
			num1 = n;//两个结果相加,直到进位为0
			num2 = m;
		}
	return num1;
	}
}

🔥三角形

三角形__牛客网

import java.util.*;
import java.math.*;
public class Main {
     public static void main(String[] args){
         Scanner sc =new Scanner(System.in);
         while(sc.hasNext()){
             BigDecimal a=sc.nextBigDecimal();
             BigDecimal b=sc.nextBigDecimal();
             BigDecimal c=sc.nextBigDecimal();
             if(a.add(c).compareTo(b)>0&&a.add(b).compareTo(c)>0&&b.add(c).compareTo(a)>0){
                 System.out.println("Yes");
             }else{
                  System.out.println("No");
             }
         }
     }       
}


http://www.kler.cn/news/16225.html

相关文章:

  • 【Leetcode -86.分隔链表 -92.反转链表Ⅱ】
  • LeetCode_字符串_简单_415.字符串相加
  • 终于把 vue-router 运行原理讲明白了(二)!!!
  • 票务app开发案例分享
  • 【JAVA】#详细介绍!!! 文件操作之File对象(1)!
  • 从信息泄露到权限后台
  • Java面试题队列
  • Pandoc 从入门到精通,你也可以学会这一个文本转换利器
  • 2的幂次方
  • 微软开源AI修图工具让老照片重现生机
  • Java版本电子招标采购系统源代码—企业战略布局下的采购寻源
  • 网络安全漏洞分析之远程代码执行
  • 长/短 链接/轮询 和websocket
  • python深度强化学习模型的原理、应用!
  • Java 中的包是什么?如何创建和使用包?(八)
  • 第11章 项目人力资源管理
  • HTTP基础知识
  • 【博弈论】【第一章】博弈论导论
  • 跟着杰哥学强化学习:q-learning的一些思考
  • 有仰拍相机和俯拍相机时,俯拍相机中心和吸嘴中心的标定
  • 研究生,但是一直摆烂——想办法解决
  • 数据治理在学术上的发展史以及未来展望
  • 一天吃透Redis面试八股文
  • 【华为OD机试真题】最大N个数与最小N个数的和(C++javapython)100%通过率 超详细代码注释 代码解读
  • 基于AI技术的智能考试系统设计与实现(论文+源码)_kaic
  • Oracle删除列操作:逻辑删除和物理删除
  • 【Linux - Shell常用命令】- 判断文件是否存在、去掉文件后缀
  • [java]云HIS:检验字典维护
  • No.054<软考>《(高项)备考大全》【冲刺8】《软考之 119个工具 (6)》
  • 【SAS应用统计分析】方差分析