一、JAV A的基础
1、Java SE:Java Standar Edition(Java标准版,一般开始学习Java是使用)、
2、Java ME:Java Micro Edition(Java微型版本)、
3、Java EE:Java Enterprise Edition(Java企业版本)、
4、Java是由Sun公司推出的(今被Oracle公司收购)、
5、JDK:Java Development Kit(Java开发必备)、
6、JRE:Java Runtime Environment(Java执行环境){JDK包含了JRE}、
7、Jdk1.4,jdk1.5(5.0)别名:老虎(Tiger),jdk1.6(6.0)别名:野马(Mustang)、
8、在命令行模式下输入java-version运行查看当前安装的Java版本及运行版本、
下载并安装java jdk后设置Path环境变量来让系统知道去哪儿找运行程序的文件,运行javac测试设置是否成功
9、在命令行中运行javac是将编辑好的java文件进行编译成以.class结尾的字节码文件,程序最终执行的就是class文件、
10、Java是跨平台的语言,正真执行的不是二进制代码,而是字节码,Java程序是有JVM (Java Virtual Machine,Java虚拟机)执行字节码(JVM不是跨平台的),Java之所以能跨平台,本质原因在于JVM不是跨平台的,
二、数据类型
注:1.Java中数据类型包含原生数据类型(Primitive Data Type)和引用类型(对象类型)(Reference Type)
2.变量类型包含变量和常量:常量(值不会变的量)、变量(值可以变的量)
3.如何定义变量?
变量类型变量名(int a;)
4.如何为变量赋值?
变量名=变量值;
a=2;
=:表示赋值,将等号右边的值赋给了左边的变量,java中使用==表示相等等于数学中的=号
5.总和变量定义与赋值。
变量类型变量名=变量值;
Int a=1
6.变量名:在Java中,变量名以下划线、字母、$符号开头,并且后跟下划线、字母、$
符号以及数字。总之,java中的变量名不能以数字开头。
7.关于计算机系统的数据表示
位:bit(只有0,1两种状态),是计算机系统中的最小数据表示单位。
字节:byte,1byte=8bit.
1KB=1024Byte(1Kg=1000g,于计算机系统不同)
1MB=1024KB
1GB=1024MB
8.注释。注释是给人看的,不是给计算机看的。Java中共有3种类型的注释:
1)单行注释:以//开头,//后面的所有内容均被当作注释处理
2)多行注释:以/*开头,以*/结束,中间的所有内容均被当作注释处理,多行
注释来源于C/C++.多行注释不能嵌套。
3)另一种多行注释。用于产生Java Doc帮助文档。以/**开头,以*/结束,1、java中原生数据类型共有8种:
(1)、整型(int):整数(32位)。(表示2147483647~2147483648之间的数)
(2)、字节型:使用byte表示(表示-128~127之间的256个整数)。(一个字节等于八位)。(3)、短整型:使用short表示。(16位)(表示-32768~32767之间数)
(4)、长整型:使用long表示。(64位)(表示-9223372036854775808~9223372036854775807之间的数)
(5)、单精度浮点型:使用float表示。所谓浮点型,指的就是小数,也叫做实数,比如1.2、
(6)、双精度浮点型:使用double表示。双精度浮点型表示的数据范围要比单精度浮点型
大。
(7)、字符型:使用char表示(char是character的缩写)。所谓的字符,即使单个的字符表示,比如字母a,或者中文张,外面用单引号包围上。比如char a='B'与
char b='张';
(8)、布尔型:使用boolean表示,布尔类型只有两种可能,分别是true与false.
2、Java原生数据类型使用陷阱(Pitfall of Primitive Data Type)
JAV A中的所有浮点类型默认情况下都是double。不能将double类型的值赋给float类型的变量,即便该double类型的值处于float类型的范围内也是不可以的。总之,能否成功赋值取决于等号右边的值类型与等号左边的变量类型是否一致。
(注:float a=1.2;System.out.print(a);//运行出现错误,1.2默认为double类型)
3、如何将double类型的值赋给float类型的变量?(将double类型的值强制转换为float类
型:float a=(float)1.2;),语法:类型变量名=(类型)变量值;(使用Java预言的支持:float a=1.2f;)
4、变量在使用前必须要赋值;变量必须要声明其类型方可使用;变量在使用前必须要定义,
并且只能定义一次。
5、如下代码无法通过编译:int a=1;
Short b=a;
//a是int类型,b是short类型,int类型表示的数据范围要比short
类型的大,不能将表示范围大的值赋给表示范围小的变量(小的可以
赋给大的)。
6、可以将表示范围小的值赋给表示范围大的变量,但不能直接将表示范围大的值赋给表示
范围小的变量(只能通过强制转换实现)。
三、运算符
1、当如干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量
类型。比如,参与运算的变量中,有整型int,有双精度浮点型double,有短整型short,那么最后的结果就是double.
2、int a=1;
int b=2;
double c=(double)a/b;
上面的代码中,a与b都是整型,但是通过(double)a这种转换将a转换为一个匿名的变量,该变量的类型是double,但是要注意:a本身是int类型,而不是double类型,这样,(double)a/b就是double类型除以int整型,结果自然值double类型。
3、取模运算符:使用%表示。
int a=5;
int b=3;
int c=a%b;
上面代码的运算结果是2,因为5除以3结果是1余2.
取模的规律:取模的结果符号永远与被除数的符号相同
int a=5;
int b=-3;
int c=a%b;
被除数是5,那么取模的结果是2;
int a=-5;
int b=3;
int c=a%b;
被除数是-5,那么取模的结果是-2;
总结一:javaweb课程总结刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,也是精神饱满,信心十足,怀着一腔热血来听课。 由于JAVAWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JAVAWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA 这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。 对JAVAWEB和JSP课程的知识就简单介绍到这里,本学期的这两门课程让我对软件工程这门课有了一个全新的认识,我真切的学到了能用的东西,大学里的很多课是浪费时间,而
https://www.wendangku.net/doc/5614263126.html,ng.Object 类,是所有类的根父类! 2.Object类仅有一个空参的构造器public Object(){ } 3.关于方法: ①equals(Object obj) public boolean equals(Object obj) { return (this == obj); } // == // 1.基本数据类型:根据基本数据类型的值判断是否相等。相等返回true,反之返回false // 注:两端数据类型可以不同,在不同的情况下,也可以返回true。 // 2.引用数据类型:比较引用类型变量的地址值是否相等。 //equals(): >①只能处理引用类型变量②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等 >像String 包装类File类Date类这些重写Object类的equals()方法,比较是两个对象的 //"实体内容"是否完全相同。 >若我们自定义一个类,希望比较两个对象的属性值都相同的情况下返回true的话,就需要重写Object类的 equals(Object obj)方法 ②toString()方法
当我们输出一个对象的引用时,会调用toString()方法。 1.public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 当我们没有重写Object类的toString()方法时,打印的就是对象所在的类,以及对象实体在堆空间的位置 2.一般我们需要重写Object类的toString()方法,将此对象的各个属性值返回。 3.像String类、Date、File类、包装类都重写了toString()方法。 1. String类:不可变的字符序列(如:String str = "atguigu"; str += "javaEE") 1.关注于String常用的方法! 2.String类与基本数据类型、包装类;与字符数组、字节数组; * 1.字符串与基本数据类型、包装类之间转换 * ①字符串--->基本数据类型、包装类:调用相应的包装类的parseXxx(String str); * ①基本数据类型、包装类--->字符串:调用字符串的重载的valueOf()方法 *
一、填空题(每题1分,共50分) 1.Java程序可以分为两种基本的类型,分别是_________________和_________________。 2.如果一个类不显示地写上其继承的父类,则它的默认的直接父类是系统类_______________。 3.Java对内存的释放是采用____________________机制。 4.接口的所有成员方法都具有________________和________________属性。 5.设有一个Java应用程序,其源程序文件名为Test.java,则编译该源程序的命令是_________________________,运行该应用程序的命令为_________________________。 6.如果线程类A需要继承类B,而类B不是线程类,则需要通过接口类Runnable构造线程类A,类A的具体定义为 ___________________________________________________。 7.Java系统提供了方法____________________来强制立即回收垃圾。 8.运行以下语句后b的值是__________________。 String s1=“1234”; String s2=new String(“1234”); Boolean b=(s1 = = s2); 9.通过Connection实例对象的_____________________方法可以创建出Statement的实例对象。 10.JAVA小应用程序一般是_____________的子类。 11.JAVA语言通过____________机制简化了程序的内存管理。 12.JAVA字符(char)采用的是___________字符集。 13.面向对象的计算机语言一般应具有3个基本特性:____________、____________和______________。 14.JAVA语言中,捕获异常是通过________________语句结构来实现的。 15.编写线程程序主要是构造线程类,而构造线程类的方式主要有以下两种:(1)____________________________________________ (2)____________________________________________ 16.假设用JAVA语言为清华大学(网址为https://www.wendangku.net/doc/5614263126.html,)编写了图像处理包image,那么按照SUN公司的建议,这个包的名称最好为_________________。 17.JAVA数据类型中,具体包括哪三种引用数据类型:___________、____________、______________。 18.JAVA程序以________为单位进行组织的。 19.如果没有显式的定义类的构造方法,则系统会为该类定义一个默认的构造方法,这个默认的构造方法的作用是_____________________________________。
史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资
深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。
目录 第一章Java入门2? 第二章 Java基础5? 第三章条件转移1?4 第四章循环语句20? 第五章方法 ............................................... 26 第六章数组33? 第七章面向对象........................................... 42第八章异常63? ? 第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个 平台中最核心的部分,包含Java最核 心的类库。?JavaEE:(J2EE,Java 2 Platform, EnterpriseEdition,企业版), 开发、装配、部署企业级应用,包含 Servlet、JSP、JavaBean、JDB C、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platfor mMicro Edition,微型版),用于 小型电子设备上的软件开发。
2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径,J VM在运行时通过classpath加载需 要的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将 编写好的Java文件(.java)编译成 Java字节码文件(.class); ?java.exe:Java运行工具,启动Java 虚拟机进程,运行编译器生成的字节 码文件(.class) 5、一切程序运行的入口 publicstatic voidmain(String args []){ System.out.println(“Hel lo World!”); } 课堂笔记 练习题 一、填空题 1、Java的三个技术平台分别是(J2SE )、(J2EE)、(J2ME)。 2、Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是( J2SE ), 对于企业开发应用的是(J2EE),对于嵌入式设备应用开发的是( J2ME )。 (classpath )。 3、建立Java开发环境,安装JDK,一般需要设置环境变量(path)、 4、编写一个Java源程序,其文件名为Test.java,则编译该源程序的命令为(javac ),运行 该程序的命令为( java),生成文档注释的命令为( javadoc)。 5、Java程序的运行环境简称之为( JRE)。
精品文档 JAVA基础知识考核题 班级:姓名:成绩: 一、选择题(80分,每题2分) 1.J ava编译器的命令是( D ) A.java B. appletviewer C. jdb D. javac 2. Java解释器的命令是( A ) A.java B. appletviewer C. jdb D. javac 3. Java开发人员使用的开发工具包是( C ) A.JVM B. JRE C. JDK D. Eclipse 4. 下列说法正确的是( B ) A. 使用Java语言开发的程序可以在任何平台下运行,且不需要JRE B. 使用Java语言开发的程序可以在任何平台下运行,但需要JRE C. Java虚拟机是独立的,JDK中不包含虚拟机 D. Java语言编译后是字节码文件,操作系统可直接执行 5. 下列全部是合法的Java标识符的是( B ) A. 09stu teacher $money B _salary post123 name C case abstract final D #ID list today 6. 程序中有如下语句 final float PI = 3.14f; 下列说法正确的是( C ) A PI 是一个变量,初始化的值是3.14. B 定义有错误,PI 是float类型3.14后不能加f C PI 是一个常量,其值是3.14 D 对PI可以重新赋值,如PI = 3.1415926; 7 下列初始化值正确的是(B )
A float score = 90.5; B boolean flag = false; C char 慮敭?尠张三; D boolean num = 1; 8. 有如下代码 . 精品文档 class ScopeVar { public static void main(String [ ] args) { int num = 10; if ( num = = 10) { int num1 = num * num; } num1 = num1+10; System.out.println(num1); } } 输出正确的是( D ) A 110 B 20 C 不确定 D 程序错误 9. 下面对Scanner 描述正确的是( C ) A Scanner类提供输入数据的方法,但只能输入字符串 B Scanner的使用方法:Scanner.next(); C 使用Scanner需要导入java.util.Scanner类 D 从键盘读取一个整数的方法 Scanner sc = new Scanner(); int num = sc.nextInt(); 10. 有String str1=hello; int num=100; 则对str1+100 说法正确的是( A ) A str1+100 的值是一个字符串hello100 B str1+100会产生语法错误,字符串不能和整数相加 C str1+100不会产生语法错误,最终的结果是100,str1的值被忽略掉 D str1+100不会产生语法错误,最终的结果是hello,100被忽略掉 11. 哪种方法返回String中的字符数( B ) A. size() B. length() C.width() D.girth() 12. 下面创建数组正确的是B A int[] int_array = int[10]; B int[] int_array = new int[10]; C int[] int_array = new int(10);
第一章Web开发基础知识(简单描述)表单(续) 表单元素