1.简述String类中的equals方法与Object类中的equals方法的不同点。

答: String类中的equals方法是用来判断两个对象的内容是否相同,Object类中的equals方法是用来判断两个对象是否是内存的同一块内存空间。

2.下列代码运行结果

public classToStringTest{static int i = 1;public static voidmain(String args[]){

System.out.println("love " + new ToStringTest());//love java

ToStringTest a = newToStringTest();

a.i++;

System.out.println("aa " + a.i);//aa 2

}publicString toString(){

System.out.print("I ");//I

return "java ";

}

}

I love java

aa 2

原因:当执行代码的时候,首先加载静态变量,然后执行main方法,由于main方法内部第一行代码为输出语句,里面new了此类对象,当执行此行代码时会先创建了本类的对象,由于此类重写了toString方法,会先执行toString方法的打印输出,然后返回“java ”,再执行main方法第一行打印输出。在Java中“System.out.println(类对象名);”实际输出的是该对象的toString()方法返回的字符串,即括号中的内容等价于类对象名.toString(),toString方法的好处是在碰到println方法的时候会被自动调用,不用显示的写出来。

3.下列代码运行结果

(1)

String s1= new String("abc");

String s2= "abc";

System.out.println(s1== s2); //false

System.out.println(s1.equals(s2)); //true

(2)

String s1= "abc";

String s2= "abc";

System.out.println(s1== s2); //true

System.out.println(s1.equals(s2)); //true

(3)

String s1= "a" + "b" + "c";

String s2= "abc";

System.out.println(s1== s2); //true

System.out.println(s1.equals(s2)); //true

(4)

String s1= "ab";

String s2= "abc";

String s3= s1 + "c";

System.out.println(s3== s2); //false

System.out.println(s3.equals(s2)); //true

4.简述StringBuilder类与String类的区别。

答:String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响。

StringBuilder又称为可变字符序列,是JDK5.0中新增加的一个类,它是一个类似于String的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。即它是一个容器,容器中可以装很多字符串,并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容,StringBuilder会自动维护数组的扩容。

5.模拟在一副牌中,抽取第1张,第5张,第50张扑克牌。

public classTest3 {public static voidmain(String[] args) {//获取所有扑克牌

String[] puke =getPuke();//抽取指定的三种扑克牌

int num1 = 1;int num2 = 5;int num3 = 50;

String[] pk3=get3(puke , num1 ,num2,num3);//打印抽取的牌

for (int i = 0; i < pk3.length; i++) {

System.out.print(pk3[i]+ " ");

}

}private staticString[] getPuke() {

String[] colors={"黑色","红桃","梅花","方块"};

String[] nums={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

String[] puke= new String[54];int index = 0;for (int i = 0; i < nums.length; i++) {for (int j = 0; j < colors.length; j++) {

puke[index]= colors[j]+nums[i];

index++;

}

}

puke[52] = "小王";

puke[53] = "大王";returnpuke;

}public static String[] get3(String[] puke, int i, int i2, inti3) {

String[] pk3= new String[3];

pk3[0] = puke[i - 1];

pk3[1] = puke[i2 - 1];

pk3[2] = puke[i3 - 1];returnpk3;

}

}

6.获取当前的日期,并把这个日期转换为指定格式的字符串,如2088-08-08 08:08:08。

public classDateTest {public static voidmain(String[] args) {//获取当前日期对象 now;

Date now = newDate();//创建SimpleDateFormat对象 df,并制定日期格式

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//调用df的format(Date date) 方法,传入now; 接收返回的字符串

String datestr =df.format(now);//打印这个字符串

System.out.println(datestr);

}

}

7.使用SimpleDateFormat类,把2018-05-04转换为2018年05月04日。

public classDateFormatTest {public static void main(String[] args) throwsParseException {//创建SimpleDateFormat对象df1,指定日期模式为yyyy-MM-dd

SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");//调用df1的parse(String str)方法传入2018-05-04,得到对应日期类型

Date date = df1.parse("2018-05-04");//创建日期格式化对象df2,在获取格式化对象时可以指定风格

DateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日");//调用df2的format(Date date) 传入刚才转换的日期

String str =df2.format(date);

System.out.println(str);

}

}

8.现有一个字符数组{'i','t','c','a','s','a'},请使用System类中的arraycopy()方法在控制台输出“itcast”。(提示:将[1]号数组元素复制到最后位置并覆盖原有元素。)

public classArraycopyTest {public static voidmain(String[] args) {char[] cha ={'i','t','c','a','s','a'};//将cha数组中第2个元素,复制到目标数组最后一位数组上

System.arraycopy(cha, 1, cha, 5, 1);//遍历目标数组,在控制台输出字符串

for (int i = 0; i < cha.length; i++) {

System.out.print(cha[i]);

}

}

}

9.用程序判断2018年2月14日是星期几

public classCalendarTest01 {public static voidmain(String[] args) {//创建Calendar对象

Calendar c =Calendar.getInstance();//将给定的日历字段设置到Calendar对象中

c.set(Calendar.YEAR, 2018);

c.set(Calendar.MONTH,1);

c.set(Calendar.DATE,14);//设置年

int year =c.get(Calendar.YEAR);//设置月

int month = c.get(Calendar.MONTH)+1;//设置日

int date =c.get(Calendar.DATE);//设置星期

char week =getWeek(c.get(Calendar.DAY_OF_WEEK));//输出结果

System.out.println(year+"年"+month+"月"+date+"日是星期"+week);

}//定义方法,获取星期汉字

public static char getWeek(inta){char[] c = {' ','日','一','二','三','四','五','六'};returnc[a];

}

}

10.分析以下需求,并用代码实现:

(1)定义数字字符串数组{"010","3223","666","7890987","123123"};

(2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出;

(3)如:010 是对称的,3223 是对称的,123123 不是对称的;

(4)最终打印该数组中对称字符串的个数。

public classStringBuilderTest02 {public static void main(String[] args) throwsIOException {//定义数字字符串数组

String[] str = {"010","3223","666","7890987","123123"};

SBTest(str);

}public static voidSBTest(String[] str) {int count = 0;//遍历定义的字符串数组

for(String string : str) {//创建StringBuilder对象

StringBuilder sb = newStringBuilder(string);//调用reverse()方法,将遍历的数字进行反转,然后用equals()方法对比是否与原数字相同

if(sb.reverse().toString().equals(string)) {

count++;

System.out.println(string+ "是对称的");

}

}

System.out.println("总数为" +count);

}

}

java代码打出一只狗_java基础1相关推荐

  1. java代码打出一只狗_牛逼!这位程序员开发出一“舔狗”必备神器(代码已开源)!...

    在一个阳光明媚的清晨,我打开窗户呼吸了一口新鲜空气.阳光灿烂,岁月静好,又是一个约女朋友出去爬山吃饭看电影的好日子.想到女朋友的大眼睛,我脸上不禁洋溢起了幸福的微笑. 打开微信,给女朋友发出去一个美好 ...

  2. java代码是怎么运行的_Java代码是如何运行起来的?

    目录 1.编译 写好:".java"代码后,会通过编译器将代码编译成.class后缀的字节码文件 Java是平台无关的,实现语言无关性的基础就是虚拟机和字节码存储格式 只要编译器按 ...

  3. Java代码有效和片段有效_Java 9 尝鲜之交互式编程环境

    Java 9 JShell--Java 9 的交互式编程环境 本文要求读者有基本的 Java 知识. Tips Java 9 的代码由于提供了新特性,所以有些代码并不支持向后兼容.也就是说,用 Jav ...

  4. 中秋节图案 用java代码打出来_基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法.doc...

    基于Java代码实现判断春节.端午节.中秋节等法定节假日的方法 基于Java代码实现判断春节.端午节.中秋节等法定节假日的方法 这篇文章主要介绍了基于Java代码实现判断春节.端午节.中秋节等法定节假 ...

  5. java中怎么用代码打出ASCII码字符_JAVA实现打印ascii码表代码

    我就废话不多说了,大家还是直接看代码吧~ package com.jalor; public class AAAA { public static void main(String[] args) { ...

  6. java简述标识符和保留字区别_Java 基础语法 - 流年似水莫停留的个人页面 - OSCHINA - 中文开源技术交流社区...

    Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一 ...

  7. java要频繁调用容器时_JAVA基础面试题

    JAVA相关基础知识1.面向对象的特征有哪些方面1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不 ...

  8. java 基本语法与流程控制_Java基础语法之控制流程

    Java基础语法之控制流程 语言的流程控制提供了对程序步骤的基本方法. 三大流程控制语句:顺序.选择.循环 复合结构 复合结构是以一个区块为单位的,由"{"开始"}&qu ...

  9. 在java中班级的表示方法_Java基础班学习笔记(8)

    1:如何制作帮助文档(了解) (1)写一个类 (2)加入文档注释 (3)通过javadoc工具生成即可 javadoc -d 目录 -author -version ArrayTool.java 如何 ...

最新文章

  1. W ndoWs文件夹窗口,如何在本地网络中访问-Synology-NAS-上的文件-(Wndows).pdf
  2. python代码编码成jni_python 设置文件编码格式的实现方法
  3. 计算机课具体任务驱动,计算机基础课程的任务驱动的教学设计与实践论文
  4. php 情书,php趣味编程 - php输出笛卡尔情书的秘密
  5. 无法在C语言软件里敲字,网页上不能输入文字怎么办
  6. 华为虚拟机eNSP命令大全(所有命令)
  7. 通用代码:发送短信并显示倒计时
  8. T83723 数人wjh --题解
  9. root 存档位置 linux,Linux 档案与目录管理(转)
  10. 编写LLVM Pass模块知识点梳理
  11. 块存储、文件存储、对象存储的区别
  12. Kubernetes Dashboard 设置用户密码登陆
  13. windows性能计数器
  14. 使用html制作一个旅游网站
  15. web开发详解,学习web前端开发的网站
  16. PS网页设计教程XI——在PS中创建柔和的绿色环保的网页布局
  17. 各种小芯片Chiplet的机遇
  18. 仿soul交友盲盒1.0全开源源码/完整盲盒交友系统源码
  19. 一个免费在线法线贴图生成器(Normal Map Generator)
  20. android 微票效果,再谈电影详情页-微票儿(每日一品v36)

热门文章

  1. mysql跟踪工具_Mysql 监视工具
  2. 浅谈HTML5+css3新标签和特性
  3. ORA-01758: 要添加必需的 (NOT NULL) 列, 则表必须为空
  4. java 计算器算法_计算器算法
  5. SCO UNIX快速入门
  6. 一个人会不会成功,只看是否拎得清…
  7. 放弃支持旧机型,Win11需英特尔8代CPU起步
  8. 错误1920, Windows Font Cache Service(FontCache)。错误1083。
  9. 小胖妞系列文章之一:漂亮女孩必知道的138件事情
  10. 內置函數操作筆記-集合