(由于自己是第一次在iteye上发表博文,对这个编辑器很不熟悉,以为只有上传图片效果好些,所以用了图片,如果对各位看官造成不便,感到非常抱歉)
本章目标:
学会安装jdk,配置环境变量;
编写第一个简单java程序,编译与运行;
掌握java中基本数据类型,流程控制和string的用法。
1 打印图形(等腰三角形)
package lesson1; /** * * @author pcm *用来统计一个字符串中的每字符在另一个字符串中依次出现的次数 */ public class cishu { public static void main(String[]args){ //输入俩个字符串数据 String a="and"; String b="adnfaepdannalealci"; //求出俩个字符串的长度 int len1=a.length(); //依次取出第一个字符串的字符 int start=0; for(int n=1;n<len1+1;n++){ int end=n; String subs1=a.substring(start,end); start++; //将取出的每个字符来求出在另一个字符串中的次数 int index=b.indexOf(subs1);//取出的字符在字符串中的第一次位置 int cishu=0;//定义次数初始值 while(index>=0){ int start1=index+1; int len2=b.length(); b=b.substring(start1,len2); index=b.indexOf(subs1); cishu++; } b="adnfaepdannalealci";//因为b在前面的while语句中已经发生了改变,所以这里必须还原。 System.out.print(subs1+":"+cishu+" "); } } }
在这个程序汇中,出现了下列问题:
1) 由于对于java不熟练,出现了主函数写错了,没有写上static void main;
2) 对于如何引用其他的类的方法来进行赋值不熟悉,我开始是写了一个这样的类
我没有意识到System..out.print只是一个可以把n输出来,而不能将它输出来的n来赋给其他变量,比如: int a=sumrow2.sumrow(int 2).这个方法是错误的,除非把上面的类改为:
3) 在做这个题目的时候,我开始没有思路,只是想到了这个应该当做正方形来考虑,但是不知道如何控制行和列,后面是想到那个其实行可以有每行输入的空格数来控制,比如说第一行是n-1个空格,最后一行是0个空格,那么控制空格由n-1到0就是表明了行数是从1到n。这也是表明,我们以后控制某个东西时,抓住特点就行了!
2 java中的基本数据类型:
类型 |
称呼 |
值域 |
表示范围 |
Byte |
字节型 |
8bits |
-128~127 |
Short |
短整型 |
16bits |
|
Char |
字符型 |
16bits |
|
Int |
整型 |
32bits |
|
Long |
长整形 |
64bits |
|
Float |
浮点型 |
32bits |
|
Double |
双精度 |
64bits |
|
Boolean |
布尔型 |
True/false |
|
1) 一个bit计算机可以储存的最小数据单位。即一位。0或1
2) 一个byte由八个bit组成,2的8次方,可以表示256个整数值,又由于byte在java中有符号的(即正负之分),所以范围为-128到127。对于那些没有符号之分的,显然就从0开始。其中还有int,short,long有符号之分。
3) 定义数据类型://八进制的int定义 int a=012,即以0开头。 //十六进制的int定义 int b=0x12.
4) 整数类型的转换的顺序根据上面的顺序由上往下来。如果需要强制转换的话:double a=112,byte b=(byte)a。
3 String
1)String是java中的一个类,不是基数据类型,因为它有自己的方法和属性
2)String的调用方法:
这个程序编写的过程中,注意几点:boolean是一个数据类型,所以最后还要输出结果;
这里是将“你好吗我很好”这个字符串分别先将“你好吗”的“吗”字和“你好”相隔4个空格,方法是加转义字符“\t”,然后再将“你好 吗”与“我很好”隔成俩行,方法是加转义字符“\r\n”。
4 编写一个程序:用来统计一个字符串中的每字符在另一个字符串中依次出现的次数。
1) 首先根据题目流程来解,它是要求计算出一个字符串中的每个字符在另一个字符串中的次数,所以我们先必须解决一个问题,那么就是如何取出字符串中的每个字符,然后再是如何求出某个字符在另一个字符串中的次数。 第一步:利用substring这个方法,并且通过for循环来同时改变start,end的值,从而得到字符串a的一个个字符。
第二步:首先分成两类:一个是一次都没有的,一个是有至少一次的;然后在至少有一次的字符时,建立以“字符出现的第一次位置的改变为主”的循环结构。
2) 记得这个是完整的方法,其中没有其他函数,所以在这里面改变的任何值的作用域都是整个函数,所以在最后还需要将b的值给改变回来!
总结:第一章中知道了java的来源,java的基本知识,比如java的下载,装机,java文件的编写和java的执行。同时也开始尝试着自己编写程序来解决小问题,在解决问题的过程中,遇到了很多问题,有些是自己的java基础知识不牢固,有的是自己的编写程序和分析问题的能力不够,所以自己还要多多练习,将书上的代码全部敲一遍,加深自己的印象和理解。