课程安排: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. Packetbeat协议扩展开发教程(3)

    原文链接:http://elasticsearch.cn/article/54 书接上回:http://elasticsearch.cn/article/53 前面介绍了Packetbeat的项目结构 ...

  2. MSSQLSERVER数据库- 作业调度定时备份数据库

    作业调度和备份数据库是常见的行为,掌握这两项技术我觉的非常有必要. 在网上找到这个示例,记录在这里 备份数据库的SQL语句 --自动备份并保存最近5天的SQL数据库作业脚本 ) DECLARE @da ...

  3. Java/Andriod- 使用Eclipse搭建环境

    从网上找来的,做了一点小修改,我自己试了一下,1.3步骤我没去做,最后也不影响. 在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld.本文的主题如下: 1.环 ...

  4. .NET/C# 类构造函数中this的用法 (转)

    在C#中this用来指代当前对象,用于当成员函数中的形参名跟成员变量名一致时,进行区分. 但this不仅仅只有这一作用,this还可以如下这样用: class class1 { private int ...

  5. 【转】Netty那点事(四)Netty与Reactor模式

    [原文]https://github.com/code4craft/netty-learning/blob/master/posts/ch4-reactor.md 一:Netty.NIO.多线程? 时 ...

  6. MyBatis简介与配置MyBatis+Spring+MySql

    MyBatis学习 之 一.MyBatis简介与配置MyBatis+Spring+MySql MyBatis学习 之 二.SQL语句映射文件(1)resultMap MyBatis学习 之 二.SQL ...

  7. Matlab画图-非常具体,非常全面

    Matlab画图 强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数. ...

  8. ABAP 日期函数

    一 财务期间处理 T_CODE: OB29 **取 公司年度变式, 和 货币  SELECT SINGLE waers periv FROM t001        INTO (v_waers,v_p ...

  9. Zend Studio 10正式版注册破解

    1.文件和汉化文件 ZendStudio官方下载地址:http://www.geekso.com/component/zendstudio-downloads/ 百度云地址: 10.0.0.msi文件 ...

  10. memcached client --ref

    Clients Client API's / libraries Updated Jul 14, 2012 by dorma...@rydia.net ref:https://code.google. ...