课程安排: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节课)的更多相关文章

  1. java培训(5-8节课)

    面向对象: 1.利用面向对象的语法,实现代码的拆分(数据存储:对象的传值). 2.利用面向对象的语法,实现程序的结构处理(继承,多态,接口,抽象类). 3.用面向对象的编程方法,理解实现程序开发的框架 ...

  2. linuxprobe培训第1节课笔记2019年7月5日

    报了老刘的RHCE培训,这是老刘上课笔记简略版. 老刘在课上介绍了开源共享精神和大胡子(Richard M. Stallman—GNU创始人).linux发展史(Linus Benedict Torv ...

  3. linuxprobe培训第2节课笔记2019年7月6日

    使用VM虚拟机配置RHEL实验环境. 鉴于在笔记本上装过centos7,这章内容难度对我来说不是很大. 重置root管理员密码(RHCSA考题,第一题,做不出来无法进行下一步考试) e linux16 ...

  4. linuxprobe培训第3节课笔记2019年7月7日

    linux常用命令: echo:在终端输出字符串或变量提取后的值 date:显示及设置系统的时间或日期 reboot:重启 poweroff:关机 wget:下载 ps:查看系统中的进程状态(常用参数 ...

  5. Java第一节课动手动脑

    在第一节课的动手动脑中,主要解决四则运算问题. 首先第一个是出30道四则运算题目,在100以内.这个问题需要控制随机数生成的范围和结果的范围在100以内就可以. 第一次改进是3点:一为避免重复,二为定 ...

  6. [转][南京米联ZYNQ深入浅出]第二季更新完毕课程共计16节课

    [南京米联]ZYNQ第二季更新完毕课程共计16节课 [第二季ZYNQ]                                                                  ...

  7. SpringBoot常用Starter介绍和整合模板引擎Freemaker、thymeleaf 4节课

    1.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/doc ...

  8. 如何选择JAVA培训机构,兼议什么样的人适合培训机构

    首先,利益相关,本人就是培训机构创办者兼讲师,但这不妨碍我对此发表看法. 我们先来看什么样的人适合培训机构?要回答这个问题,需要先换个角度.这个角度就是,你学习一门语言的动机是什么?99%的人的回答是 ...

  9. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

随机推荐

  1. C#下实现软件欢迎界面

    找到几种简约的欢迎界面的制作方法,存此记录. 方法一:双线程,用第二个线程启动欢迎界面 原文:http://www.cnblogs.com/xiaoshatian/archive/2010/09/07 ...

  2. 【Away3D代码解读】其它一些的记录(持续更新)

    查看当前正在使用的AGAL代码可以在程序开始时添加下面的代码,AGAL代码会被trace出来: Debug.active = true; 具体的输出是在MaterialPassBase类的update ...

  3. MSSQLSERVER数据库- 一条代码搞定单表备份表结构和表数据

    在百度上找到的,很实用这个容易操作,不就两张表,我的建议就是备份表带上日期,以便以后要恢复数据的时候,可以快速找到他,这样备份是表结构和数据一起处理.select * into share_20090 ...

  4. flex开发小技巧集锦

    关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ...

  5. 在idea中如何添加log日志

    1.首先下载log4的jar包,官方路径为:http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip 2.下 ...

  6. ecshop在线手册前言及程序结构

    该在线手册是有模版堂转载而来:仅供参考 一.前言 为什么我们ecshop模板堂要重制ecshop在线手册呢?因为目前网上的一些教程有些是比较老的,有些是不全面的,官方的手册也已经很久没有更 新,很多刚 ...

  7. 0 Explore TreeView

    尽可能接近WINDOWS 8的资源管理器效果(这里只模仿它的效果,处理文件功能不包括在内)   TREEVIEW可以增加空白并且空白处不能单击 重绘三角箭头 重绘选中时的边框和填充色 重绘失去焦点时选 ...

  8. 第二周:01 ICP迭代交互

    本周主要任务01:利用PCL库函数,ICP融合两个角度的点云 任务时间:2014年9月8日-2014年9月14日 任务完成情况:可以使用键盘交互,显示每次ICP迭代结果 任务涉及基本方法: 1.PCL ...

  9. 设计模式之Composite模式(笔记)

    组合模式:将对象组合成树形结构以表示"部分-总体"的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 适用场合:当需求中是体现部分与总体层次的结构时,以及希望用户 ...

  10. (原)linux 编译 lwqq

    1.安装工具 apt-get install automake apt-get install autoconf apt-get install libtool apt-get install lib ...