黑马程序员-java学习4
来源:互联网 发布:灰色模型软件 编辑:程序博客网 时间:2024/05/22 00:51
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
好的,今天上午从9:29开始学习:
1.先来复习一下上次的知识要点:
我们这边要注意循环,比如说是for循环或者while循环,如果我们是for(int i=0;i<100;i++),那么这个循环就是从0开始的,一直到100为止,中间执行这个循环里面的代码。而如果我们是销售某种东西,那么就是while(true),...100--,就是从100开始,然后依次往下去减。
注意,一个thread对象代表一个线程,无论它启动多少次,都是一个线程。
我们今后一般的情况都是需要采用实现Runnable接口的方式去创建线程。
SUN公司只给我们提供了java源程序开发工具,但是没有给我们提供图形化开发工具,一般的图形化开发工具有JBuilder,JCreator等,这些都是图形化开发工具。
在我们创建工程的时候,basic java application是java的GUI工程,也就是美工的。
而basic java applet是javaapplet程序。
2.昨天我们还学习了字符串String类和StringBuffer类。
这两个类,也就是string和stringbuffer都是属于java.lang包中的,而这个包里面的类是不需要import导入就可以直接使用的。
String对象里面的内容一旦被初始化就不能被改变,而StringBuffer里面的内容还可以改变,然后我们调用它的toString()方法来将其转换成String类型,也就是不可以改变的了。
连接符:比如+号:
它可以将各种不同的类型连成字符串。
但是它实际上的StringBufffer的append方法追加到一起的。注意,append方法是StringBuffer的。
String x="a"+4+"c";
就相当于String x=new StringBuffer().append("a").append(4).append("c").toString();
3.,好的,复习了大概40分钟,我们来学习新的知识要点:
好的,现在我们来编写一个实例,就是我们逐行读取键盘上输入的字符,将输入的字符保存在一个数组中,然后直到遇到回车换行的时候,就将这些字符打印出来。
我们在JCreator中来编写这个程序:
新建一个新的工程。
况众文,不要急,慢慢学习,有的是时间争取两天学一章,8天解决掉。
我们知道从键盘上读取数据是System.in.read()这个方法。注意,它一次只能从键盘上读取一个输入的字节,然后保存为整数类型。
由于我们要在遇到回车换行的时候,将前面输入的所有字节保存在数组中然后打印出来,所以要新建一个数组。
有点难度,跳过。
注意定义数组是byte[] buf=new byte[1024];//后面没有小括号。
定义一个最大存储为1024上午数组。
4.我们接下来来看看String类中的一些常用的方法:
IndexOf(int ch):用于返回一个字符在字符串中首次出现的位置。如果找不到这个字符,那么这个函数就会返回-1。
我们来看一个例子,注意在java中,其实位置的下标识从0开始的。
public class String{
public static void main(String[] args){
System.out.println("hello world".indexOf("o"));//应该会打印出4,因为是从0开始的,o处于第四个位置,o首次出现在第四个位置
}
}
注意,空格也算一个位置。
当然indexOf还有一个方法,和这个差不多,也是查找的,可以指定从哪个位置开始查找:
System.out.println("hello world".indexOf("o",5));
//从第五个位置开始查找,也就是中间的空格处开始查找,那么O首次出现在第七个位置,会打印出7.
5.String类中的indexOf()方法是用来查找的,它还有一个方法:subString(int beginIndex)
subString(int beginIndex,int endIndex);
subString就是返回从指定的开始位置到字符串结尾或者指定的结尾减去1之间的子字符串。
来看看这个方法的使用:
public class String{
public static void main(String[] args){
System.out.println("hello world".subString(6));
}
}
//从hello world的第六个位置开始,0起头,也就是从w开始到结尾,将会打印出world.
我们也可以:
public class String{
public static void main(String[] args){
System.out.println("hello world".subString(6,8));
}
}
将会打印出wo
注意,这里如果只是有开始位置,那么就是从开始位置到结尾,如果还有结尾位置,那么就是结尾位置减去1的位置。比如上面是6-8,实际上结尾位置是7,所以打印出wo
其实就是StringBuffer的append方法和String的indexOf,subString()方法。
6.基本数据类型包装类的作用:
我们使用基本数据类型可以提高系统给的性能,满足大部分的需求,但是基本数据类型不具有对象的特性,不能满足某些特殊的需求。
其实这八种基本数据类型都有其自己的包装类,我们只要掌握了Integer这个包装类的用法,也就掌握了其他包装类的用法。因为里面有很多共性,我们完全可以举一反三。
7.我们来看一个例子:
比如我们呢要用*打印一个矩形,矩形的宽高在由我们输入的字符确定。
我么可以查看JDK帮助文档,查看Integer.
数组的定义,比如int[] ii=new int[1024];
Byte[] buf=new int[1024];
8.好的,我们来学习java中的集合类:
集合类,用于存储一组对象,其中的每个对象称之为元素,经常会用到的有Vector.Enumeration,ArrayList,
Collection,Iterator,Set,List
好的,我们首先来看一下Vector类和Enumeration接口:
如果要想保存若干对象,但是事先又不知道对象数目时,Vector类就是一种不错的选择。
它提供一种类似java不支持的动态数组的功能。
好的,现在哦我们来看一个例子:
我们将键盘上输入的一个数字数列中的每位数字存储在Vector中,然后再屏幕上打印出每个数字相加的结果。比如输入1234,打印出10,输入32,打印出5.
注意,在java中表示回车是'\r' 换行是'\n'
注意,在java中,我们输入1代表的asii码值是49,0代表的是48.
所以我们呢要得到输入的数值,就是*-'0'
import java.util.*;
public class TestVector{
public static void main(String[] args){
Vector v=new Vector();
System.out.println("请输入数字:");
//由于那个每次只能读取一个字符,所以要循环
while(true){
int b=System.in.read();
if(b=='\r'||'\n'){
break;
}else{
//否则我们将读取到的数据保存到Vector中,因为是不明数目的,所以选择Vector比较合适
int num=b-'0';//具体解释看笔记
v.addElement(new Integer(num);//由于里面不能直接保存int类型,要保存对象类型
}
}
}
}
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
- 黑马程序员-java学习4
- 黑马程序员 java基础学习笔记4
- 黑马程序员 -- Java基础学习(4)
- 黑马程序员--java学习总结(4)
- 黑马程序员-java学习5
- 黑马程序员-JAVA基础学习
- 黑马程序员--java高新技术学习
- 黑马程序员----java基础知识学习
- 黑马程序员--JAVA学习笔记
- 黑马程序员 ----java学习日记
- 黑马程序员-Java异常学习
- 黑马程序员---Java 学习笔记
- 黑马程序员 java反射学习
- 黑马程序员-Java反射学习
- 黑马程序员学习4
- 黑马程序员-java学习笔记-java基础
- 黑马程序员--Java学习01--java简介
- 黑马程序员:java学习之一 java概述
- 浅谈Java中的几种随机数
- Android邮件发送详解
- 黑马程序员---java学习要点3
- GSPUtil
- RAW文件的读取
- 黑马程序员-java学习4
- 那些纷繁的多表查询
- 小孩报数问题
- Mongodb基础用法及查询操作
- 缩略语字符串翻译为日常用语字符串的实现
- openGL及GLSL的小知识
- 从服务器上下载excel
- ibatiS和hibernate的区别
- 从服务器上下载excel