小女子学习java遇到难题了,基础知识学到手,可是应用起来太不灵活。尤其是数组,拿到问题往往想不起来用数组去解决。求各位前辈指点一二。
解决方案 »
- JDK安装为什么异常退出?
- scjp考试问题
- 在一个界面用socket同时进行 双机通信 和 文件传输 怎么解决?
- swing中英文切换问题
- 关于JAVA的强转问题
- String[] aaa; 和 String aaa[]; 他们的区别在那里?
- 我想通过服务器配置个监听,后用一个Timer每个50分钟产生一个事件对数据库中的某张表进行删除不要数据要怎么做
- 不好意思,最近问题比较多,就当散分了。:)
- 为何不能编译?
- 为何我用System.in.read()得不到想要的值!!!!!!
- 写了一个线程池。大家看下哪里有不合理的地方,高手给过滤下,看看是否有不合理的地方,如果可以把其在精悍下。
- 请帮个忙。初学者。所以可能问题比较幼稚。请见晾
package com.liha;public class lihanIpTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
lihanIpTest ip=new lihanIpTest();
String ipAddress="193.168.222.333";
String delims = "[.|]";
String[] ipStr=ipAddress.split(delims);
for(int i=0;i<ipStr.length;i++)
{
ipStr[3]="*";
ipStr[2]="*";
}
for(int i=0;i<ipStr.length;i++)
{
System.out.print(ipStr[i]);
System.out.print(".");
}
}}
for ( initialization_expression; loop_condition; increment_expression ) {
// statements
} for循环语句的控制出现在关键字for之后的圆括号中,它包括用分号隔开的三个部分。
第一部分是initialization_expression(初始化表达式),在循环开始执行之前,它对用于保存循环迭代次数的计数器进行初始化,如,int i = 1(可以用整型、浮点型变量)。
第二部分是只要指定的循环表达式loop_condition(循环条件表达式)的运算结果是true时,循环便可以继续执行。在每一次循环迭代的开始处均检查这个表达式,当它为false时,程序将转至该循环结构之后的语句处继续执行。
第三部分是increment_expression(增量表达式),通常用于增加循环计数器的值。在每一次循环迭代的末尾执行此项工作。该部分可能是i++,它将循环计数器加1,当然也可以增加的步长不是1,如果增加的步长为2,则可以与成:
i+=2;或者也可以是更复杂的步长值,比如像i=2*i+1一样。
for循环的拓展
(1),for循环语句的第一部分initialization_expression (初始化表达式),可以声明和初始化多个变量,并且可以在for语句中的各个部分来使用这些变量。
例:
public class multiply {
public static void main(String args[]) {
long result = 0;
int limit = 5;
for (int i = 1, j = limit ; i <= limit; i++) {
result = i * j;
j--;
System.out.println(i + "*" + j + "=" + result );
}
}
}(2),for循环语句的第二部loop_condition(循环条件表达式),这里可以是多个逻辑表达式的组合,只要最后的运算结果是true时,循环便可以继续执行,false时,循环将停止。
例:
public class multiply {
public static void main(String args[]) {
long result = 0;
int limit = 5;
for (int i = 1, j = limit; i <= limit && j > 2; i++) {
result = i * j;
j--;
System.out.println(i + "*" + j + "=" + result );
}
}
}(3),第三部分是increment_expression(增量表达式),这里并不只是增量表达式,可以有任何表达式,并且可以与循环的控制无关。
例:
public class multiply {
public static void main(String args[]) {
long result = 0;
int limit = 5;
for (int i = 1, j = limit; i <= limit; i++, j--) {
result = i * j;
System.out.println(i + "*" + j + "=" + result );
}
}
}(4), 用浮点数值计数。
例:
public class Area {
public static void main(String args[]) {
for (double radius = 1.0; radius <= 2.0; radius = radius + 0.2) {
System.out.println("radius=" + radius + " Area=" + Math.PI * radius * radius);
}
}
} (5), for语句中的三个表达式可以去掉任意思的个数,但格式不能变。
for (int i = 1; i <= limit; i++)
int i =1;
for (; i <= limit; i++)
for ( ; ; ) // 当条件表达式部分不写时,将是一个死循环。
int i =1;
for ( ; i < 10; ) 嵌套循环
我们可以将任何一种循环嵌入到另一种循环中,并且可以进行任意多重的嵌套。
这回将刚开始提到的阶乘的计算重新进行程序设计。public class Factorial {
public static void main(String args[]) {
long factorial = 1;
long limit = 20;
for (int i = 1; i <= limit; i++) {
factorial = 1; // Initialize factorial
for (int factor = 2; factor <= i; factor++) {
factorial = factorial * factor;
}
System.out.println(i + " factorial is " + factorial);
}
}
}
continue语句
当我们在程序设计中,当满足某些条件时,循环体内的某些程序块不执行而进入下一轮循环时,就可以用continue与if语句加以控制。public class Factorial {
public static void main(String args[]) {
long factorial = 1;
long limit = 20;
for (int i = 1; i <= limit; i++) {
if(i % 3 == 0) {
System.out.println("Does not calculate "+ i +" factorials." );
continue;
}
factorial = 1; // Initialize factorial
for (int factor = 2; factor <= i; factor++) {
factorial = factorial * factor;
}
System.out.println(i + " factorial is " + factorial);
}
}
}break语句当我们在程序设计中,当满足某些条件时,退出循环时,就可以用break与if语句加以控制。
public class Factorial {
public static void main(String args[]) {
long factorial = 1;
long limit = 20;
for (int i = 1; i <= limit; i++) {
if(factorial > 6227020800l) {
System.out.println("Exit For.");
break;
}
factorial = 1; // Initialize factorial
for (int factor = 2; factor <= i; factor++) {
factorial = factorial * factor;
}
System.out.println(i + " factorial is " + factorial);
}
}
}二。对于数组,那很简单。当然你要处理同一类型的数据时,而且知道数据的个数时,你可以用数据
多写代码,不要只是在脑子里想.
有很多问题用脑子想很简单,实际做了才发现有很多细节上的问题.
数组不是很难,多写一些代码,锻炼下逻辑思维的能力,慢慢的就会好起来了.