项目html |
内容java |
这个做业属于哪一个课程程序员 |
https://www.cnblogs.com/nwnu-daizh/算法 |
这个做业的要求在哪里数组 |
https://www.cnblogs.com/nwnu-daizh/p/11475377.html安全 |
做业学习目标app |
|
随笔博文正文内容包括:框架
第一部分:结合Java和C基础语法的异同比较,总结本周理论知识eclipse
第三章:JAVA的基本程序设计结构编辑器
一:一个简单的JAVA程序
在本练习中将指导咱们完成咱们的第一个Java应用程序HelloWorld的编写、编译和运行,分析纠正可能出现的错误。HelloWorld程序将实现显示输出问候语“Hello,World”的简单功能。
1.建立Java应用程序源文件
1)打开文本编辑器NotePad(记事本)
【开始】→【程序】 →【附件】 →【记事本】
2)在该新建文件中,输入下述代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello,World!");
}
}
注意:所输入的代码、命令和文件名的拼写应与给出的彻底相同,Java语言是大小写敏感的(case-sensitive),所以必须保持大小写的拼写一致,不然会致使编译或运行出错。例如:
- System ≠ system
- String ≠ string
- public ≠ Public
- HelloWorld ≠ helloworld
3)保存文件
在记事本(NotePad)窗口的菜单条上选择菜单【文件】→【另存为】,在打开的“另存为”窗口中进行以下操做:
a)使用“保存在”下拉式列表框,指定要将文件保存在哪一个目录下。例如,将文件保存到d:\javaex目录下。
b)在“文件名”下拉式列表框中直接输入“HelloWorld.java”;
c)在“保存类型”下拉式列表框中选择“全部文件”。
完成上述步骤后,“另存为”对话框界面应如图E02-1所示,而后点击【保存】并退出记事本程序。
2.编译源文件
1)启动Win2000命令行窗口
此时默认当前路径为系统的安装路径(C:\),进入Java源文件所在路径"D:\javaex"后,运行命令"dir"能够在该目录的文件列表中发现文件"HelloWorld.java"
1)在上述命令行窗口中运行命令:javac HelloWorld.java
若是窗口中未出现任何报错信息,则编译成功,编译器会自动生成字节码文件"HelloWorld.class"并保存在当前路径下,可再次运行dir命令或在资源管理器中查看该字节码文件信息。
3.运行程序
在Win2000命令行窗口的同一目录"D:\javaex"中,运行命令:java HelloWorld
程序将开始运行并显示输出"Hello,World!"
二:数据类型
1.四种整数类型(byte、short、int、long):
byte:8 位,用于表示最小数据单位。
short:16 位,不多用
int:32 位、最经常使用
long:64 位、次经常使用
2.两种浮点数类型(float、double):
float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。
double:64 位,最经常使用,后缀 D 或 d,1 位符号位,11 位指数
3.一种字符类型(char):
char:16 位,是整数类型,用单引号括起来的 1 个字符(能够是一个中文字符),使用 Unicode 码表明字符,0~2^16-1(65535) 。
4.一种布尔类型(boolean):true真和false假。
三:JAVA中的变量及常量
1.Java常量
常量一般也被称为“final变量”。常量在整个程序中只能被赋值一次。在为全部对象共享值时,常量是很是有用的。在Java语言中声明一个常量,除了要指定数据类型外,还须要经过final关键字进行限定。声明常量的标准语法格式以下:
final 数据类型 常量名称(=值)
在Java编码规范中,要求常量名必须大写,而且中间最好使用下划线做为分隔符来进行链接多个单词。
当定义的常量若是属于“成员变量”,则必须在定义时就赋给初值,不然将会在编译时出先错误。
常量在程序运行过程当中主要做用——
1). 表明常数,便于程序的修改,好比:圆周率的值;
2).加强程序的可读性,好比:常量UP、DOWN、LEFT和RIGHT分辨表明上下左右,其数值分别是一、二、3和4)。
2.Java变量
在Java语言中,全部的变量在使用前必须声明。声明变量的基本格式以下:
type identifier [ = value][, identifier [= value] ...] ;
格式说明:type为Java数据类型;identifier是变量名;可使用逗号隔开来声明多个同类型变量。
变量虽然是由程序员所命名的,可是变量的命名并非任意的,须要遵循必定的规则:
1). 变量名必须是一个有效的标识符。
2). 变量名不能重复。
3). 应选择有意义的单词做为变量名。在命名变量名时,最好能经过变量名看出变量的内容,这样既能方便读者对程序的理解,增长可读性,又方便程序的维护,减轻程序维护人员的工做负担。
变量的有效范围是值程序代码可以访问该变量的区域,若超出变量所在区域访问该变量则编译时会出现错误。在程序中,通常会根据变量可以访问的区域将变量分为成员变量和局部变量。
在类体中定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又分为静态变量(也称类变量)和实例变量两种。
3.局部变量(本地变量)
1). 声明在方法、构造方法或者语句块中;
2). 在方法、构造方法、或者语句块被执行的时候建立,当它们执行完成后,变量将会被销毁;
3). 访问修饰符不能用于局部变量;
4). 只在声明它的方法、构造方法或者语句块中可见;
5). 在栈上分配的;
6). 没有默认值,因此局部变量被声明后,必须通过初始化,才可使用。
4.实例变量
1). 声明在一个类中,但在方法、构造方法和语句块以外;
2). 当一个对象被实例化以后,每一个实例变量的值就跟着肯定;
3). 在对象建立的时候建立,在对象被销毁的时候销毁;
4). 值应该至少被一个方法、构造方法或者语句块引用,使得外部可以经过这些方式获取实例变量信息;
5). 能够声明在使用前或者使用后;
6). 访问修饰符能够修饰实例变量;
7). 对于类中的方法、构造方法或者语句块是可见的,通常状况下应该把实例变量设为私有,经过使用访问修饰符可使实例变量对子类可见;
8). 具备默认值,数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值能够在声明时指定,也能够在构造方法中指定;
9)能够直接经过变量名访问。
5.类变量(静态变量)
1). 在类中以static关键字声明,但必须在方法构造方法和语句块以外;
2). 不管一个类建立了多少个对象,类只拥有类变量的一份拷贝;
3). 除了被声明为常量外不多使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变;
4). 储存在静态存储区。常常被声明为常量,不多单独使用static声明变量;
5). 在第一次被访问时建立,在程序结束时销毁;
6). 与实例变量具备类似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型;
7). 默认值和实例变量类似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值能够在声明的时候指定,也能够在构造方法中指定。此外,静态变量还能够在静态语句块中初始化;
8). 能够经过:ClassName.VariableName的方式访问;
9). 类变量被声明为public static final类型时,类变量名称通常建议使用大写字母。若是静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。
四:运算符
1.算术运算符:
单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号以前的值),不然为false;这整个运算符包括一个关系运算符(能够是 “>”"<""!="等等),一个“?”,一个“:”,冒号先后须要有两个表达式或者是值或者是对象。
2。关系运算:
等于符号:==,不等于符号: != ,大于符号:>, 小于符号:<,大于等于符号: >= ,小于等于符号: <= 。
3位运算符 逻辑运算符:
位运算符 与(&)、非(~)、或(|)、异或 (^)&:当两边操做数的位同时为1时,结果为1,不然为0。如1100&1010=1000 | :当两边操做数的位有一边为1时,结果为0,否.则为1。如1100|1010=1110 ~:0变1,1变0 ^:两边的位不一样时,结果为1,不然为0.如1100^1010=0110 逻辑运算符 与(&&)、非(!)、或(||)
04
赋值运算符
= += -= *= /= %= &= ^= |= <<= >>=
05
instanceof运算符
该运算符是双目运算符,左面的操做元是一个对象,右面是一个类。当左面的对象是右面的类建立的对象时,该运算符运算结果是true,不然是false。
06
运算符综述
Java 的 表达式就是用运算符链接起来的符合Java 规则的式子.运算符的优先级决定了表达式中运算执行的前后顺序.例如,x<y&&!z至关于(x<y)&& (!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽可能的使用括号来实现你想要的运算次序,以避免产生难以阅读或含糊不清的计算顺序.
运算符的结合性决定了并列相同级别的运算符的前后顺序,例如,加减的结合性是从左到右,8-5+3 至关于(8-5)+3.逻辑否运算符 的结合性是右到左, x 至关于!(!x).表3.4是Java全部运算符的优先级和结合性。
07
位移运算符
<< 带符号左移 >>带符号右移 >>> 无号右移
五:字符串
一、Java 中的 StringBuilder 类的经常使用方法
append(参数):追加内容到当前StringBuilder对象的末尾
insert(位置,参数):将内容插入到StringBuilder对象的指定位置
toString():将StringBuilder对象转换为String对象
length():获取字符串的长度
toLowerCase():转换成小写
charAt(int i):获取索引为i的值
getBytes():转换为字节数组
indexOf(int ch):查找ch字符在该字符串第一次出现的位置
indexOf(String str):查找str字符串在该字符串第一次出现的位置
lastIndexOf(int ch):查找ch字符在该字符串最后一次出现的位置
lastIndexOf(String str):查找str字符串在该字符串最后一次出现的位置
split():将字符串拆分红子串;
注意:StringBuffer和StringBuilder 功能同样,可是StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,因此性能略高。所以通常状况下,若是须要建立一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
二、“==” 和 equals() 有什么区别呢?
==: 判断两个字符串在内存中首地址是否相同,即判断是不是同一个字符串对象
equals(): 比较存储在两个字符串对象中的内容是否一致
六:输入与输出语句
1).数据类型 [] 变量名;
.数据类型 变量名[];
5.建立对象数组
声明数组变量后,而后就是须要建立一个数组对象,并将它赋给数组变量:
1). 使用new 关键字
2). 初始化数组的类容
由于在java中数组是对象,因此可使用new 关键字来建立,用new 关键字建立数组的时候必须指定数组的长度,使用new关键字建立数组的时候,全部元素都会被自动初始化,(int数组为0 , 字符串数组为 “\0”,布尔数组为false ,对象数组为null )。
6.语法:
数据类型 []变量名=new 数据类型[数组长度];
数Demo [2]=35;
组建立好以后就能够赋值了,在数组中每一个元素都是经过下标来访问的。
第二部分:实验部分
实验名称:实验二 Java基本程序设计(1)
1. 实验目的:
(1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤;
(2)掌握Eclipse集成开发环境下导入Java源程序的过程;
(3)掌握Java语言构造基本程序的数据类型、变量、运算符、各种表达式、输入输出、流程控制的基本语法;
(4)掌握Math类、String类、StringBuilder类的用法。
3. 实验步骤与内容:
实验1 程序互评
在程序测评这节课中,咱们修改了上上节课的九九乘法表,在修改的过程当中咱们对九九乘法表的程序有了更近一步的了解,并且意识到在此次实验中咱们对乘法表的掌握不够深入,犯了许多简单的错误,甚至连最基础的框架都没记下来,让咱们意识到在之后的学习在必定要认真,仔细,老师讲的做业要认真完成。
2:编写包含如下代码片断的java应用程序,输出字符串类对象s3的值。
String s1=“Hello!”; String s2=“World”; String s3=s1+s2; |
程序运行结果及代码截图以下:
实验3:更改实验2中s一、s二、s3为StringBuilder类对象,观察程序运行结果并与实验2结果进行对比,理解String类对象与StringBuilder类对象的区别。
实验4:在命令行方式下调试运行下列程序,理解java应用程序命令行参数的用法。
public class Message { public static void main(String[] args) { if (args[0].equals(“-h”)) System.out.print(“Hello”); else if(args[0].equals(“-g”)) System.out.print(“goodbye,”); for(int i=1;i<args.length;i++) System.out.print(“ ”+args[i]); System.out.println(“!”); } } |
实验过程当中的截屏以下:
实验5:Eclipse环境下导入第3章示例程序InputTest.java步骤:
(1) 新建java project以下图:
(2) 选择File->import->File ystem->Next,打开文件导入窗口以下图,点击上方Browse选择导入源程序并选中,点击下方Browse选择源程序导入位置为新项目InputTest/src位置后,点击finish完成导入。
(3) 打开InputTest项目src文件夹的缺省包,双击InputTest.java在IDE源程序编辑区打开文件。
(4) 右键单击InputTest.java文件名打开快捷菜单,选择Run as->java application运行此程序,结合程序运行结果,理解代码中Scanner类对象用法,掌握java控制台输入方法。
实验截图以下:
实验6:按照实验5操做步骤,导入WriteReadFileTest.java示例程序,运行程序并理解程序代码,观察项目文件夹下文件myfile.txt的内容,掌握文件的输入输出操做。
1):实验运行结果以下:
2):myfile.txt内容以下:
实验7:按照实验5的操做步骤,导入第3章3-3——3-4示例程序,掌握两个程序循环控制结构的用途。
3-3截图以下:
3-4截图以下:
实验8:按照实验5的操做步骤,导入第3章3-5示例程序,理解抽奖几率计算算法。
实验截图以下:
实验总结:
意识到了个人不足,理解了String类对象与StringBuilder类对象的区别。而且尝试了一些经常使用的String类和StringBuilder类的方法。对程序在eclipse中的运行更加熟练,以及将文件导入eclipse中进行运行与输出,在导入的过程当中出现了许多的问题,尤为是后面的许多实验,但经过助教老师的讲解修改了以后都一一获得了解决。学习了文件的输入输出。加深了对三种循环的理解,Java语言的循环是和C语言没有太大差异的。