上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法.其实Java相比于C来说强大的另一个原因是Java中提供了大量可用的标准库 字符串 字符串可以说是任何程序都离不开的东西,就连一个简单的hello world程序都用到了字符串,当时C语言中对字符串的支持并不太好,C语言中的字符串实质上是一个字符数组.为了方便不同的C/C++库都有自己的字符串实现.而Java中内置了对字符串的支持,Java中的字符串是一…
将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信…
http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net.URL)获取连接器(java.net.URLConnection)2. 设置请求的参数3. 发送请求4. 以输入流的形式获取返回的内容 5. 关闭输入流 接收端的处理可以使用servlet的doGet和doPost方法 发送端 get示例 import java.io.BufferedReader…
高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行解释 JVM:(Java virtual machine) java虚拟机负责解释执行字节码文件,是java程序跨平台的关键部分. 跨平台原理:所有平台的JVM向上提供给java字节码程的接口完全相同-+,向向适应不同平台的接口互不相同. 小贴士:windows操作系统(不区分大小写)通过Path环…
以下内容摘自:  https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.u…
  关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没法很好地理解下面的面向对象技术.把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路. 为便于说明,我们先定义一个简单的类: class Vehicle { int passengers; int fuelcap; int mpg; } 有了这个模板,就可以用它来创建对象: Vehicl…
一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为ScriptEngine提供实例化机制. 方法:getEngineByName(String shortName);//查找并创建指定名称的脚本引擎 ScriptEngine:是一个接口,该接口提供了基本的脚本功能(包括执行脚本,设置和获取值的方法). 方法:get(String key);//获取指定…
一.为什么要用synchronized关键字 首先多线程中多个线程运行面临共享数据同步的问题. 多线程正常使用共享数据时需要经过以下步骤: 1.线程A从共享数据区中复制出数据副本,然后处理. 2.线程A将处理好的数据副本写入共享数据区. 3.线程B从共享数据区中复制出数据副本. 如此循环,直到线程结束. 假如线程A从共享数据区中复制出数据副本然后处理,在还没有将更新的数据放入主内存时,线程B来到主内存读取了未更新的数据,这样就出问题了. 这就是所谓的脏读,这类问题称为多线程的并发问题. 举个具体…
[14-9]面向对象-final关键字 /* 继承的弊端,打破封装性. 不让其他类继承该类,就不会有重写. 怎么能实现呢?通过Java中的一个关键子来实现,final(最终化). [final关键字] 是一个修饰符,可以修饰类,方法,变量(成员变量,局部变量,静态变量). [特点] 1,final修饰的类是一个最终类,不能派生子类. 如果类中出现部分可以重写,部分不可以,怎么办?只要让指定的方法最终化就可以了. 2,final修饰的方法是最终方法,不可以重写. 3,final修饰的变量是一个常量…
this关键字主要有三个作用 1.调用本类中的属性. public class TextThis { public static void main(String[] args){ Person p1 = new Person(); p1.getInfo(); } } class Person{ String name; int age; public Person(String n, int a){ name = n; age = a; } public String getInfo(){ S…
static属于类的,不属于任何一个对象的 static关键字的应用场景: 1.静态代码块:在类下用static修饰的代码块 static{ 代码: } 只能执行一次,是在第一次使用类之前执行 类加载时执行 静态属性也是类加载时开辟空间 可以利用静态代码块,把这个类使用之前需要的准备工作放到静态代码块中 2.static修饰属性: 不再属于对象的,而是属于这个类 当程序运行后,第一使用某个类时,JVM会加载这个类到内存, 程序运行过程中,一个类只加载一次,所以静态属性只有一份 在类的外部使用静态…
一.this关键字 1.代表当前类的对象 2.通过” . ”调用成员属性和成员方法 3.通过this可以区分成员属性和参数 参数名和属性名相同的情况,默认是参数名 二.非静态成员属性和静态成员属性的区别 非静态通过“对象.属性“的方式调用 静态通过“类名.属性“的方式调用 非静态属性每个对象各有一份,静态属性被对象之间共享,属于类 三.类的加载顺序 创建对象时: 1.首先加载静态资源 a) 静态代码块 b) 静态成员属性 静态资源只会加载一次,并且按照从上到下的顺序加载 2.加载普通代码块和成员…
supe主要是调用父类中被重写的方法及属性. 用下列代码那说明: package cn.hcf.TestSuper; public class TestSuper { public static void main(String[] args){ Student stu = new Student(); stu.task(); } } class Person{ int ID; void task(){ ID = 100; System.out.println("工作"); } } c…
static关键字 1.static修饰变量也称静态变量,静态变量存放在静态区被该类的所有对象共享. 例如,定义了一个类class User{static Sring city = "a城"},将类中的一个city属性定义为静态变量.我们创建一个对象use1,然后可以通过user1.city = "b城"修改静态区里面User类的信息.User类中city的初始值就发生了改变,变成了b城.我们再新建一个对象use2,打印user2,会发现user2.city变成了b…
最终的,最后的 可以修饰:变量.方法.类 (1) 修饰变量 不可改变,即常量,只能赋值一次,赋值之后不可改变 a. 修饰属性:private final int num; 要求属性要显式赋值 通常在属性中,final和static一起使用,表示静态常量:private static final int num; 静态常量的命名规则:每个字母都大写,多个单词之间用下划线分割 b. 修饰局部变量:final int count: 只能赋值一次,二次报错 形参在调用时赋值,所以方法内不能在改变 (2)…
最近抽时间在学习Java,目前有了一点心得,在此记录下来. 由于我自己之前学过C/C++,而Java的语法与C/C++基本类似,所以这一系列文章我并不想从基础一点点的写,我想根据我已有的C/C++经验,补充一些需要注意的点,或者java中独特的内容,或者将C/C++进行对比来总结一下学习的内容. 为什么要学习java 最开始接触到Java还是在学校中开设的一门java编程语言的课,那个时候感觉java很麻烦,写个helloworld要那么多代码.后来学到web编程,我自己搭建的环境总是报错,而且…
Java中static使用方法 一:Java中的static使用之静态变量: 我们都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 static 大显身手的时候了!! Java 中被 static 修饰的成员称为静态成员或类成员.它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享.静态成员可以使用类名直接访问,也可以使用对象名进行访问.当然,鉴于他作用的特殊性更推荐用类名访问~~ 使用 s…
Java的变量.常量.变量的类型及使用规则 每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字.关键字对 Java 的编译器有着特殊的意义. 一:Java中的关键字: 注:Java的关键字是区分大小写的 二:Java中的标识符: 标识符是给Java程序中的变量.类.方法等命名的符号,是用户编程时使用的名字如下图所示 使用标识符,需要遵守以下几条规则; 1.  标识符可以由字母.数字.下划线’_‘.美元符 ‘$’ 组成,但不能包含 @.%.空格等其它特殊字符,不能以数字开头.譬…
数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据库的一套接口,作为应用程序的开发人员来说只需要创建接口对应的对象即可,而接口的实现由各个数据库厂商去完成.要在应用程序中使用JDBC,需要根据数据库的不同导入对应的jar包. 使用步骤如下: 导入相应jar包 注册驱动 获取数据库连接对象 定义sql语句 获取执行sql语句的对象 执行sql并获取结…
Java的数组以及操作数组 一:什么是数组: 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩 数组中的元素都可以通过下标来访问,下标从 0 开始.例如,可以通过 scores[0] 获取数组中的第一个元素 76 ,scores[2] 就可以取到第三个元素 92 二:如何使用Java中的数组: Java 中操作数组只需要四个步骤: 1. 声明数组 语法:  数据类型[ ] 数组名: 或者   数据类型…
Java的循环跳转语句 一:Java循环跳转语句之break: 生活中,我们经常会因为某些原因中断既定的任务安排.如在参加 10000 米长跑时,才跑了 500 米就由于体力不支,需要退出比赛.在 Java 中,我们可以使用 break 语句退出指定的循环,直接执行循环后面的代码. 例如,使用循环输出 1--10的数值,其中,如果数值大于 2 ,并且为 3 的倍数则停止输出. 代码如下: public class HelloWorld { public static void main(Stri…
Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 Java 中实现功能时,也经常需要重复执行某些代码,例如,我们为了表示“浓烈的爱”,希望输出 1000 行“我爱你!”.显然,此时重复敲 1000 遍输出语句是不明智的,循环语句便是明智之举/ Java 常用的 3 种循环: while . do...while . for 语法: 执行过程: <…
head first java page85 实例变量是声明在类内而不是方法中 class Horse{ private double height=15.2; private String breed; } 局部变量是声明在方法中的 class AddThing{ int a; int b=12; public int add(){ int total = a+b; return total; } } 局部变量在使用前必须初始化 局部变量没有默认值, 如果在变量初始前就使用的话, 编译器会显示…
head first java page 74 实参: argument 形参: parameter 方法会运用形参, 调用的一方会传入实参. 实参是传给方法的值.当它传入方法后就成了形参, 参数跟局部变量是一样的.   ? page76 方法可以有多个参数, 在声明的时候要用逗号分开, 传入的时候也用逗号分开 例: void go() { TestStuff t=new TestStuff(); t.takeTwo(12,34); } void takeTwo(int x,int y){ in…
这个问题来自于head first一书page68. package com.idea.study; public class Books { //headfirst page68 String title; //为什么要写在这里?写在方法里就不行? String author; public static void main(String[] args){ Books[] myBooks = new Books[3]; int x=0; myBooks[0] = new Books(); my…
以下内容引自: http://blog.51cto.com/lavasoft/436216 Compile.Make和Build的区别 原创leizhimin2010-11-30 11:30:20评论(3)31426人阅读   Compile.Make和Build的区别   针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别.   编译,是将源代码转换为可执行代码的过程.编译需要指定源文件和编译输出的文件路径(输出目录).Java的…
这个问题是从headfirst java看到的. 需求: 一个移动电话用的java通讯簿管理系统,要求最有效率的内存使用方法. 下面两段程序的优缺点,哪个占用内存更少. 第一段: Contact[]ca = new Contact[10]; while(x<10){ ca[x]=new Contact(); x=x+1; } //执行其余复杂工作 第二段: Contact refc; While(x<10){ refc = new Contact(); x=x+1; } //执行其余复杂的工作…
/* * 编码规范: * 1.所有的命名遵循"见名知意"的原则 * 2.所有的命名不允许使用汉字或拼音 * 3.Java的工程命名建议使用小写,比如:oa.crm.cms... * 4.包名都使用小写,比如:cn.yeah.com.ali.com.baidu.... * 5.类名.接口名的命名: * 1)名称中只有一个单词的,首字母大写,比如:Hello.Person.... * 2)名称中有多个单词的,每个单词的首字母都大写,比如:HelloWorld.TestPerson....…
1.JDK下载并安装,以jdk-7u45-windows-i586.exe为例(注意JDK的安装和JRE的安装是分开的) 2.“我的电脑”右键属性,找到“高级系统设置”,找到“高级”tab下的“环境变量” 3."系统变量"中新建JAVA_HOME变量,内容填写JDK安装路径(D:\Java\jdk) 4.“系统变量”中查找Path变量,在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意如果Path中已有的内容最后没有分号,需要先补上一个分号…
1.Java体系: JavaSE:标准版,其他两个体系的基础 JavaEE:企业版 JavaME:微型版,适用于消费类型的微型设备 2.Java三大特性:封装.继承.多态 3.Java的特点:面向对象.可移植.安全.动态.多线程 可移植,一次编译,到处运行 JVM:Java虚拟机(翻译官) 4.搭建环境 (1)下载jdk:去oracle的官网下载 注意:jdk 分为很多版本,1.1-1.10 选择比较稳定的版本1.7或者1.8 建议选择1.8版本 (2)安装jdk: jdk:Java开发工具包,…