1,对基本控制流程的一些练习

 package org.base.practice3;

 import org.junit.Test;

 /**
* Created with IntelliJ IDEA.
* User: cutter.li
* Date: 14-3-10
* Time: 上午10:14
* java基础练习题第三章
*/
public class PractiseTest { @Test
public void exercise1() {
char x = '你', y = 'e', z = '吃'; if (x > 'A') {
y = '爱';
z = '情';
} else {
y = '我';
}
z = '她';
System.out.println(" " + x + y + z); } @Test
public void exercise2() {
char c = '\0';
for (int i = 1; i <= 4; i++) {
switch (i) {
case 1:
c = 'b';
System.out.print(c);
case 2:
c = 'e';
System.out.print(c);
break;
case 3:
c = 'p';
System.out.print(c);
default:
System.out.print("!");
}
}
} //编写一个程序求1!+2!+3!+...+10!
@Test
public void exercise3() { int sum = 0; for (int i = 1; i <= 10; i++) {
int factorial = 1;
for (int k = 1; k <= i; k++) {
factorial *= k;
}
System.out.println(i + "的阶乘是:" + factorial);
sum += factorial;
}
System.out.println("**********************1到10的阶乘之和是:" + sum);
} //求100以内的素数(素数指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数。)
@Test
public void exercise4() { for (int i = 1; i <= 100; i++) { boolean isPrime = true;
for (int k = 2; k <= i; k++) {
if (i % k == 0 && i != k) {
isPrime = false;
break;
} else {
continue;
} }
if (isPrime && i > 1) {
System.out.print(i + " , ");
}
}
} //分别用do-while和for计算出1+1/2!+1/3!+...的前20项之和
@Test
public void exercise5() {
int i = 1;
float sum = 0;
do {
int factorial = 1;
for (int k = 1; k <= i; k++) {
factorial *= k;
}
sum += (float) 1 / factorial;
i++;
} while (i <= 20);
System.out.println("do-while方法计算的前20项的和是:" + sum); float he = 0;
for (int j = 1; j <= 20; j++) {
int jiecheng = 1;
for (int m = 1; m <= j; m++) {
jiecheng *= m;
}
he += (float) 1 / jiecheng;
}
System.out.println("for方法计算的前20项的和是:" + he);
} //求1000以内的完数(一个数如果恰好等于他的除了本身之外的所有因子数之和,这个数称为完数)
@Test
public void exercise6() { for (int i = 1; i <= 1000; i++) {
int sum = 0;
for (int k = 1; k <= i; k++) {
if (i % k == 0 && k < i) {
sum += k;
}
}
if (sum == i) {
System.out.print(i + " , ");
}
}
} //分别使用while和for计算出8+88+888+...前10项的和
@Test
public void exercise7() { int sum = 0; for (int i = 1; i <= 10; i++) {
int num = 0;
for (int k = 1; k <= i; k++) {
num += Math.pow(10, k - 1); }
System.out.println("第" + i + "的值是:" + num);
sum += 8 * num;
} System.out.println("前10项的和是:" + sum);
} //计算出1+2+3+...+n<8888 的最大正整数n
@Test
public void exercise8() { int sum = 0;
for (int i = 1; i <= Integer.MAX_VALUE; i++) {
sum += i;
if (sum >= 8888) {
System.out.println("最大的整数是:" + (i - 1));
break;
}
} } }

2,对基本类工具Date,Calendar,BigInterger,Math的练习

 package org.base.practice6;

 import org.junit.Test;

 import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* Created with IntelliJ IDEA.
* User: cutter.li
* Date: 14-3-10
* Time: 下午12:00
* java基础知识第六章练习题
*/
public class PractiseTest { //用date的不带参数的构造函数创建日期,输出格式为 星期 小时 分 秒
@Test
public void exercise1() { Date now = new Date();
String nowStr = new SimpleDateFormat("E HH mm ss").format(now); System.out.println("当前的时间:" + nowStr); } //输入2006年2月的日历页面,程序要处理闰年的问题
@Test
public void exercise2() { Calendar calendar = Calendar.getInstance();
calendar.set(2006, 2, 1); int year = calendar.get(Calendar.YEAR);
System.out.println(year + "年" + Calendar.MONTH + "月");
System.out.println("日 一 二 三 四 五 六"); int weeks = calendar.get(Calendar.DAY_OF_WEEK); int dayOfMonth = 28;
if (year % 400 == 0 || (year % 4 == 0 && year % 100 > 0)) {
dayOfMonth = 29;
}
int week = calendar.get(Calendar.DAY_OF_WEEK);
for (int k = 1; k < week; k++) {
System.out.print("* ");
}
for (int i = 1; i <= dayOfMonth; i++) { System.out.print(i + " ");
if (week % 7 == 0) {
System.out.println();
}
week++; } }
@Test
public void exercise3() { Calendar calendar1=Calendar.getInstance();
calendar1.set(1988,1,2); Calendar calendar2=Calendar.getInstance();
calendar2.setTime(new Date()); long days= calendar2.getTimeInMillis()-calendar1.getTimeInMillis(); System.out.println("我活了"+days/(24*60*60*1000)+"天"); } @Test
public void exercise4() {
System.out.println(Math.nextUp(100f));
}
@Test
public void exercise5() { BigInteger sum = BigInteger.ZERO;
for (BigInteger i = new BigInteger("1", 10); i.intValue() <= 30; i=i.add(new BigInteger("1"))) {
BigInteger factorial = new BigInteger("1");
for (BigInteger k = new BigInteger("1"); k.intValue() <= i.intValue();k= k.add(new BigInteger("1"))) {
factorial = factorial.multiply(k);
}
System.out.println(i+"的阶乘是:" + factorial);
sum = sum.add(factorial);
}
System.out.println("1!+2!+...+30!的和是:" + sum); } }

3,对字符串的一些练习

 package org.base.practice5;

 import org.junit.Test;

 import java.util.Arrays;

 /**
* Created with IntelliJ IDEA.
* User: cutter.li
* Date: 14-3-10
* Time: 下午2:33
* 字符串相关练习题
*/
public class PractiseTest { @Test
public void exercise1()
{
String str="I am a 7Road employee !"; System.out.println(str); System.out.println(str.toLowerCase()); System.out.println(str.toUpperCase()); } @Test
public void exercise2()
{
String str="cutter GG :".concat("do u want to find a job ?"); System.out.println(str); System.out.println(29&51+((29^51)>>1)); } @Test
public void exercise3()
{
String str="中国科学技术大学";
char a=str.charAt(2),b=str.charAt(6); System.out.println(a+" , "+b);
} @Test
public void exercise4()
{
int a[]={465,2,7979,12,9,3,9655,-10}; Arrays.sort(a); for(int i:a)
{
System.out.print(i+" , ");
} System.out.println();
int b[]= Arrays.copyOf(a,20); for(int i:b)
{
System.out.print(i + " , ");
}
} @Test
public void exercise5()
{
Object[] a=new Object[10];
System.arraycopy(new Object[]{"a",0,"cdef",'f'},0,a,0,2); for(Object i:a)
{
System.out.print(i + " , ");
}
}
}

以上练习使用的是junit4.11,为求简单,使用的是命令行输出,为了复习基本的java知识,特找了java2使用教程的练习来练手,看一遍书,温故而知新···

java基础练习 字符串,控制流,日历,日期等的更多相关文章

  1. 再回首,Java温故知新(八):Java基础之字符串

    字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示.从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变 ...

  2. java基础知识(六)日期处理

    一.日期处理类 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...

  3. Java基础知识强化92:日期工具类的编写和测试案例

    1. DateUtil.java,代码如下: package cn.itcast_04; import java.text.ParseException; import java.text.Simpl ...

  4. java基础4_字符串

    一 字符串 Java字符串关键字是String,是一个类,创建新的字符串即创建一个新的对象. 1.字符串的声明及初始化. String str; //只做声明 String str1="aa ...

  5. 黑马程序员——JAVA基础之程序控制流结构之判断结构,选择结构

    ------- android培训.java培训.期待与您交流! ---------- 程序控制流结构:顺序结构:判断结构:选择结构:循环结构. 判断结构:条件表达式无论写成什么样子,只看最终的结构是 ...

  6. JAVA基础之字符串和面向对象

    * [String 类] * 1. String类位于java.lang包中,java.lang是java的语言包,使用时无须导包,自动导入. * * 2.拿到一个字符串对象: * ①字面量声明:St ...

  7. Java基础 -- 连接字符串时,使用+还是StringBuilder

    结论 1-源代码中使用的+连接,实际上都使用的是StringBuilder. 2-用jad工具反编译,好处之一就是可以同时生成字节码和源代码.这样可以进行对照研究. ----------------- ...

  8. java基础知识—字符串

    1.声明字符串的方法: String s ="你好" String s=new String("你好"); 2.字符串的长度: 字符串.length(); 3. ...

  9. Java基础篇--字符串处理(StringBuffer)

    字符串处理 在Java中最常将字符串作为String类型对象来处理.同时String中也提供了很多操作字符串的函数(可自行查阅资料),而本篇将介绍StringBuffer如何操作字符串. String ...

随机推荐

  1. angular 源码分析 1 - angularInit()

    angularjs 是个神奇的框架,由于我的好奇,想了解她的内部工作原理,只能一步一步的走进她,靠近她,和她深入的交流. angularjs 的入口是什么样子的呢?一起掀起她的盖头吧. 在这里我只讲方 ...

  2. javascript动画系列第一篇——模拟拖拽

    × 目录 [1]原理介绍 [2]代码实现 [3]代码优化[4]拖拽冲突[5]IE兼容 前面的话 从本文开始,介绍javascript动画系列.javascript本身是具有原生拖放功能的,但是由于兼容 ...

  3. WinForm设置控件焦点focus

    winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winfor ...

  4. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...

  5. Oozie分布式任务的工作流——Spark篇

    Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark.在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于 ...

  6. iOS7 NavigationController 手势问题

    在iOS7中,如果使用了UINavigationController,那么系统自带的附加了一个从屏幕左边缘开始滑动可以实现pop的手势.但是,如果自定义了navigationItem的leftBarB ...

  7. OpenGL shader 中关于顶点坐标值的思考

    今天工作中需要做一个事情: 在shader内部做一些空间距离上的计算,而且需要对所有的点进行计算,符合条件的显示,不符合条件的点不显示. 思路很简单,在vertex shader内知道顶点坐标,进行计 ...

  8. 第14章 Linux启动管理(3)_系统修复模式

    3. 系统修复模式 3.1 单用户模式 (1)在grub界面中选择第2项,并按"e键"进入编辑.并在"-quiet"后面加入" 1",即&q ...

  9. Jexus 服务器部署导航

    说明:本索引只是方便本人查找,不涉及版权问题,所有博客,还是到元博客地址访问. <script async src="//pagead2.googlesyndication.com/p ...

  10. [Intel Edison开发板] 01、Edison开发板性能简述

    Integrated Wi-Fi certified in 68 countries, Bluetooth® 4.0 support, 1GB DDR and 4GB flash memory sim ...