java培训(1-4节课)
课程安排:JavaEE方向(控制台程序,GUI程序,Web程序,手机程序)(dos命令是控制台程序;QQ是GUI程序,放在计算机上;QQ空间是Web程序,放在腾讯公司)
讲课的13本教材:C语言,Java核心技术上,Java核心技术下,面向对象的分析与设计,Oracle数据库,软件测设自动化,Web编程基础,Web程序设计,XML,Linux,Struts2,Hibernate,Spring。
独立讲解的:Java核心技术上,Java核心技术下,Oracle数据库,Web编程基础,Web程序设计,Struts2,Hibernate,Spring。
其余的内容在3个阶段都会涉及。
第一阶段:控制台程序,GUI程序(基础)(C语言,Java核心技术上,Java核心技术下,面向对象的分析与设计,Oracle数据库,软件测设自动化)
第二阶段:Web程序(应用)(Web编程基础,Web程序设计,XML,面向对象的分析与设计,Oracle数据库,软件测设自动化)
第三阶段:Web程序(应用)(Struts2,Hibernate,Spring,Web编程基础,Web程序设计,XML,面向对象的分析与设计,Oracle数据库,软件测设自动化)
学习思路:
1.编程内功:(代码量,程序结构,程序执行原理)
2.编程外功:(代码编写,程序框架应用,函数的使用,调用,类的使用。printf("%d-%d",1,2);)
Java程序开发环境(安装过程):(操作系统文件路径的查找规则:先在当前路径下查找是否存在需要运行的文件,如果存在直接运行,否则去环境变量path所设置的路径中查找文件。)
1.安装JDK:Java语言运行环境(运行Java程序)。
1.安装JDK程序(安装版,解压版)。
2.设置JDK的环境变量(为操作系统设置变量)。
JAVA_HOME:设置JDK的安装路径,目的为其它程序若要使用JDK,提供一个JDK的访问路径。
PATH:设置JDK的bin的路径,为调用执行JDK的命令和程序提供一个简便的方式。
CLASSPATH:在运行class文件时,查找class文件的路径(默认值为当前路径,如果手动设置CLASSPATH,那么默认值将失效。如果还需使用默认值,需要加入"."设置)。
Java的执行方式:
程序的执行方式:编译或解释。
编译方式:源代码------------------->目标代码---->运行程序
C,Java,C# 编译 机器语言
解释方式:源代码---->运行程序
翻译
C语言:.c--->.obj--->.exe(直接执行EXE文件)
编译 连接
Java语言:.java----->.class------->Java虚拟机
编译 字节码 解释
工具——文件夹选项——查看——隐藏文件类型和扩展名
Java语言是介于编译型和解释型之间的一门语言,比C的执行效率低,比vb执行效率高。
Java语言是跨平台的语言(操作系统):JDK运行环境有不同操作系统版本。
C#语言是跨平台的语言(语言):
Java的语法规则:
1.字符集:ASCII
2.标识符,关键字。
3.变量和常量:
常量:不能改变的数据(芯片或文件中)。
变量:可以改变的数据(内存)。
变量和常量都是用来表示程序中的数据,常量是变量中的值。
int a=0;a=1;
数据结构:变量的存储结构,如何完成设计一个比较复杂的数据结构(变量与变量之间的关系);
变量的数据类型。
创建项目之后,文件夹(bin,src)——右键src,新建类 —— 包名com.guigu.macheng,main 如果打开已有class 右键——导入
java的字符可以存放一个汉字
数据类型:
基本数据类型:数值,字符(两个字节),布尔(true,false),byte。
复合数据类型:数组,类,集合,字符串等。
操作系统管理内存的方式(JDK运行环境);
每运行一次程序,系统就会为程序的运行开辟一大块内存空间,这块内存空间只供这个程序所使用,一般情况下其它程序无法访问这个内存空间的(除非使用C语言的指针实现访问其它程序的内存空间)。至于这块内存空间多大,在那开辟是有操作系统决定的。
对于这块内存空间,我们可以将其分为4部分:全局数据区(静态区)、栈区,堆区,代码区。
- 全局数据区(静态区):程序运行就立刻占用的内存空间,直到程序运行结束内存空间才会被释放(编译时处理)。
- 栈区:当程序执行到某行代码时,开辟内存空间。当程序执行到距离该变量创建代码最近的"}"时,释放(编译时处理)。
- 堆区:在需要时创建,不需要时释放(由开发人员自行控制)。
- 代码区:存储程序运行时。的相关代码。
变量的特性:生命周期,作用域,可见性。
生命周期:内存空间合适创建何时释放。
作用域:在程序运行的哪个范围内存空间可以访问。
可见性:同名两个变量,且其作用域范围存在交集时。
Java开辟内存空间的规则:
- 全局数据区(静态区):字符串常量(相同的字符串常量,不论在程序中出现多少次,在全局数据区中只创建一个值),静态变量。
- 栈区:在函数内部创建的变量(局部变量)。包括所有的基本数据类型变量,引用类型变量(C语言的指针变量)。
- 堆区:通过new开辟的内存空间。
变量的存储类型:
值类型:变量的内存空间存储的是数据(基本数据类型)。
引用类型:变量的内存空间存储的是内存地址(复合数据类型)。
int a=1,b=0;a,b存储的是值,属于值类型; String s1=new String("king"),s1存储的是地址,属于引用类型,都存储在栈区
java中 if(s1==s2)判断地址,c,c#中因为存在运算符重载的概念 ,所以 if(s1==s2)判断的是字符串
类和对象:
C语言结构体:结构体就是一个数据类型,通过结构体数据类型创建结构体变量。
Java语言中:类就是数据类型,对象就是这个类数据类型创建的一个变量。
Scanner接口(鼠标、键盘)支持获取数据,双击字符串 选中串,双击class,最大/小化
int a=1,b=1 则a!=b,因为在内存中,他们保存的是值
String s1="king",s2="king" 则s1==s2,他们保存的是常量king
String s1=new String("king") ,s2=new String("king"),则s1!=s2,因为他们在内存中保存的是堆中两个“king”的地址
Scanner键盘输入,在内存中存放在堆中,输入的字符串先在堆中建立对象,再传递给栈区地址;但是输入的数字直接传给栈区,Scanner是堆区对象,sc用来存放地址
Scanner sc=new Scanner(System.in);
String s1="king"; String s2=null; s2=sc.next(); int x=sc.nextInt();
空指针异常:java.lang.Null PointerException 只建立了栈区名字,空指针,未建立堆内对象
比如 Student s1=null; s1.name=sc.next(); Student是类
Student[] ss = new Student [];
Student s1=new Student();
for(int i=; i<ss.length; i++)
{
s1.name = sc.next();
ss[i] = s1;
}
for(i->-length)
System.out.println(ss[i].name);
输入三次不一样的名字,输出的却是相同的最后一次输入的名字,原因是只开辟了一个对象,只把改地址赋值了数组,将“Student s1=new Student()”加入第一个循环就对了
java培训(1-4节课)的更多相关文章
- java培训(5-8节课)
面向对象: 1.利用面向对象的语法,实现代码的拆分(数据存储:对象的传值). 2.利用面向对象的语法,实现程序的结构处理(继承,多态,接口,抽象类). 3.用面向对象的编程方法,理解实现程序开发的框架 ...
- linuxprobe培训第1节课笔记2019年7月5日
报了老刘的RHCE培训,这是老刘上课笔记简略版. 老刘在课上介绍了开源共享精神和大胡子(Richard M. Stallman—GNU创始人).linux发展史(Linus Benedict Torv ...
- linuxprobe培训第2节课笔记2019年7月6日
使用VM虚拟机配置RHEL实验环境. 鉴于在笔记本上装过centos7,这章内容难度对我来说不是很大. 重置root管理员密码(RHCSA考题,第一题,做不出来无法进行下一步考试) e linux16 ...
- linuxprobe培训第3节课笔记2019年7月7日
linux常用命令: echo:在终端输出字符串或变量提取后的值 date:显示及设置系统的时间或日期 reboot:重启 poweroff:关机 wget:下载 ps:查看系统中的进程状态(常用参数 ...
- Java第一节课动手动脑
在第一节课的动手动脑中,主要解决四则运算问题. 首先第一个是出30道四则运算题目,在100以内.这个问题需要控制随机数生成的范围和结果的范围在100以内就可以. 第一次改进是3点:一为避免重复,二为定 ...
- [转][南京米联ZYNQ深入浅出]第二季更新完毕课程共计16节课
[南京米联]ZYNQ第二季更新完毕课程共计16节课 [第二季ZYNQ] ...
- SpringBoot常用Starter介绍和整合模板引擎Freemaker、thymeleaf 4节课
1.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/doc ...
- 如何选择JAVA培训机构,兼议什么样的人适合培训机构
首先,利益相关,本人就是培训机构创办者兼讲师,但这不妨碍我对此发表看法. 我们先来看什么样的人适合培训机构?要回答这个问题,需要先换个角度.这个角度就是,你学习一门语言的动机是什么?99%的人的回答是 ...
- centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课
centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节 ...
随机推荐
- 消息队列数量统计(MSMQ,Performance Counter)
微软消息队列服务MSMQ (Microsoft Message Queue),工作在在线或者离线场景,并提供异步编程功能.互联网和企业开发很多场景应用,例如电商的订单处理流程,这是因为客户端不需要等待 ...
- C#操作sql通用类 SQLHelper
Codeusing System; using System.Data; using System.Configuration; using System.Web; using System.Web. ...
- [ES6] ES6 Parameter Object Destructuring with Required Values
Not only can you provide default values when using ES6 parameter object destructuring, but you can a ...
- android115 自定义控件
布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to ...
- C 栈 链式存储
#ifndef _MY_LINKSTACK_H_ #define _MY_LINKSTACK_H_ typedef void LinkStack; LinkStack* LinkStack_Creat ...
- [Effective C++ --018]让接口容易被正确使用,不易被误用
□第一节 什么是接口?什么是接口?百度百科的解释:两个不同系统(或子程序)交接并通过它彼此作用的部分.接口的概念贯穿于整个软件开发过程中,本文讨论的接口概念仅局限于以C++实现的class,funct ...
- Cocoa与Cocoa Touch的区别
Cocoa是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coco ...
- Languages
Languages A language class exists inside the system/Core folder, this class have 2 methods: load - L ...
- 手工配置tomcat 解决一闪而过~
双击tomcat 目录下的bin目录下的startup.bat 如果看到Server startup in **** ms 显示在屏幕上证明你的配置都成功了 如果一闪而过,说明出错了.请在dos进入上 ...
- Spring3之JDBC
Spring提供了统一的数据访问异常层次体系,所涉及到的大部分异常类型都定义在org.springframework.dao包中,出于这个体系中所有异常类型均以org.springframework. ...