JAVA初级必须要搞懂的事项(希望对新手有所帮助)
1 安装JDK=> (1,下载JDK,安装,一般目录为C:\Program Files\Java中;2,通过Dos命令测试JDK是否安装=>java –version命令查看安装JDK版本;3.更改环境变量(1,设置变量名:JAVA_HOME.设置变量值为D:jdk6.0;新建PATH,设置变量值为%JAVA_HOME%bin; class_path,变量值为.;C:\Program Files\Java\jdk1.6.0_43\lib\dt.jar;);4,通过javac命令显示出来;)
2 Java基本语法=> 1,标识符。(不能死关键字;可以包含字母,数字,下划线_或$;第一个必须是字母,_或$;区分大下写,不规定字母长度);驼峰命名法:前字母大写,不能以数字开头;帕斯卡命名法:前字母小写,后单词大写;数据类型(基本类型:整型(byte,short,int,long) ; 浮点型(float,double);字符型:(char);布尔型:(bolean:用于JDK决定(true,false));引用类型:(类:(class);接口(lnterface);数组);变量:用来存储数据。(给变量起名,指出变量中存储的数据的类型。);
3 程序流程控制=>布尔运算符(&&且;||或;|或(一个一个比较);!非;异或^);选择运算符:if;if/else;switch(case,default); 循环语句:while;for(;;);do/while; 跳转语句:break:可以用于任何循环控制结构,从而使循环立即终止。 Continue: 终止一次循环;
4 类,对象和包=> 类中有属性(public class Employee{public String name;}); 实例化对象,new 在运算符中创建对象并返回;向类中添加成员变量,添加方法; 访问对象的属性和方法:Employee e=new Employee(); e.name=”张三”; this引用:当前=被引用的;
对象的行为 => 方法调用栈; 方法签名:public static void main(String args []) 访问修饰符(public private,protected或默认访问修饰符);可选修饰符(static;final; abstract;native); 返回值(类型); 形式参数列表;public float divide (int x,float f); 形式参数和实际参数 (形式参数列表用于声明传递到方法中的数据的类型。传递给形式参数的数据成为实际参数); 5.5 按值调用 当实际参数传递给形式参数时,实际参数的数据被复制给形式参数。在编程中,在方法调用之间复制数据的过程; 5.6 方法重载(优点:便于开发简化操作,避免繁琐)当一个类有两到多个同名但是有不同参数列表的方法时,就是方法重载; 构造器 :(在创建对象上被对象初始化。)1,构造方法的名称必须要跟类名一致;2,构造器无返回值(返回值类型);3,默认情况下,类中有一个无参数构造方法(如:public students(){});4, 当写出带参构造器时,系统不会再没有无参构造器;5, 构造器调用构造器用this;
6 数组 => 6.1
数组概括:int [] sums( int [] sums= new int[5]{1,2,3,4,5}; ); 6.3 数组长度:数组名.length ; 6.6 数组复制 (System.arraycopy( 新数组,0(从0开始复制), 被复制的数组,4,新数组.length));
7 继承 => public class 子 extends extends 父{}; 使用“is a”关系判断继承( “is a” 是一个简单而强大的规则,用于判断父类和子类的继承关系是否正确,当使用继承时,必须 能够说子类“is a(是一个)” 父类); 7.5 单继承和多继承(继承的单根性,传递性):JAVA类只能有一个父类; 7.6 所有类的根类Object(超类) (JAVA语言API中包含了一个名为Object的特殊类, 它是整个java类的层次中的根类。);Object类在java.lang 包中,是每个java类的父类,要命是直接的父类,要么就是间接父类。 7.7 方法重写 (1.子类的方法的返回值的类型,方法名和形式参数列表,必训和父类中的是相同的。 2,访问修饰符必训不小于父类中的访问修饰符。 3, 子类中重写的异常不能抛出比父类更多的异常。) 7.7.1 equals()(判断两个字符串是否相同); 7.8 super关键字(super(属性,);必须是第一条语句)super.方法或属性 ; 7.9 final关键字(使用final不能被继承;final方法不能被重写(无子类));
类的高级概念=> 8.1 访问修饰符(公开访问级别:使用public关键字修饰的成员对外公开,即公开成员可以被任何其他的对象访问)。 受保护访问级别:(使用protected关键字修饰,可以被同一个包中的类所访问,还可以被类的子类所访问,不管子类是在哪个包当中)。 默认访问级别 :(没有访问修饰符。可以被同一个包中的类所访问); 私有访问级别:(使用private关键字修饰符,它是四种访问修饰符中级别最低,私有成员只有类本身可以访问,不对外公开); 8.2 封装(封装是使类中的成员变量都是private,并提供public方法访问这些成员变量的技术。) 使用 getter(读) setter(写); 8.3 理解静态成员(关键字static);静态方法不能访问实例成员; 8.4 静态非静态在构造方法之前运行(运行顺序:静态=>父类=> 非静态=>子类); 8.6 内部类( 1.静态内部类 2,成员内部类 3,局部内部类 4,匿名内部类);
9 多态和抽象=> 9.1多态 (静态多态(如方法重载):程序在编译时,系统就能决定调用哪个方法;动态多态: 在运行中系统才能动态确定方法所指的对象,所以也成为编译时多态); 9.1.1 多态的技术基础 (1,向上转型技术; 2,instanceof关键字用于判断运行时的对象的真正类型;3,动态绑定技术);【1,编写父类编写子类;2,子类中重写父类方法;3,用父类数据类型引出子类对象之后,自动寻找-】多态就是同一个方法名的多种不同实现; 9.2 抽象abstract(抽象)abstract class A{ public abstract void F();}
接口=> Java接口的特征归纳:
1, Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用"_"分隔)
2, Java接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化
接口关键字:父类:public interface A{}子类: Java接口必须通过类来实现它的抽象方法
public class A implements B{...}
JAVA初级必须要搞懂的事项(希望对新手有所帮助)的更多相关文章
- 每个java初学者都应该搞懂的问题
对于这个系列里的问题,每个学JAVA的人都应该搞懂.当然,如果只是学JAVA玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列.内容均来自于CSDN的经典老贴. ...
- 五分钟学Java:一篇文章搞懂spring和springMVC
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 什么是Spring,为什么你要学习spring? 你第一次接触spring框架是在什么时候?相信很多人和我一样,第一次了 ...
- Java Builder 模式,你搞懂了么?
加油.png 前言:最近闲来无事的时候想着看看一些平常用的三方库源码,没想到看了之后才知道直接撸源码好伤身体,一般设计优秀的开源库都会涉及很多的设计模式,就比如 android 开发使用频繁的 okH ...
- Java基础-一文搞懂位运算
在日常的Java开发中,位运算使用的不多,使用的更多的是算数运算(+.-.*./.%).关系运算(<.>.<=.>=.==.!=)和逻辑运算(&&.||.!), ...
- 线程池 | Java多线程,彻底搞懂线程池
熟悉Java多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了. 最近看了一些相关文章,并亲自研究了一下源码,发现有些文章还是有些问题的,所以我也总结了 ...
- Java 基础 一文搞懂泛型
本文将从以下四个方面来系统的讲解一下泛型,基本上涵盖了泛型的主体内容. 什么是泛型? 为什么要使用泛型? 如何使用泛型? 泛型的特性 1. 什么是泛型? 泛型的英文是Generics,是指在定义方法. ...
- Java并发之彻底搞懂偏向锁升级为轻量级锁
网上有许多讲偏向锁,轻量级锁的文章,但对偏向锁如何升级讲的不够明白,有些文章还相互矛盾,经过对jvm源码(biasedLocking.cpp)的仔细分析和追踪,基本升级过程有了一个清晰的过程,现将升级 ...
- java线程间通信:一个小Demo完全搞懂
版权声明:本文出自汪磊的博客,转载请务必注明出处. Java线程系列文章只是自己知识的总结梳理,都是最基础的玩意,已经掌握熟练的可以绕过. 一.从一个小Demo说起 上篇我们聊到了Java多线程的同步 ...
- c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询
天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. 不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...
随机推荐
- C++ windows 多线程 互斥锁
#include <opencv2/core/version.hpp> #include <opencv2/calib3d/calib3d.hpp> #include < ...
- 3.2-3.3 Hive中常见的数据压缩
一.数据压缩 1. 数据压缩 数据量小 *本地磁盘,IO *减少网络IO Hadoop作业通常是IO绑定的; 压缩减少了跨网络传输的数据的大小; 通过简单地启用压缩,可以提高总体作业性能; 要压缩的数 ...
- Markdown编写github README.md
Markdown编写github README.md 一.在线编辑器StackEdit Markdown在线编辑器地址 中文:https://www.zybuluo.com/mdeditor 英文:h ...
- python之文件的读写(2)
小R昨天因为在研究weblogic的漏洞就没来得及学习python(好吧,这都是借口,懒了,大家可不能像我这样.要坚持每天都学). 这个进度是有点慢呀.哎呀,没事没事,我还年轻,才20岁. 哈哈 ...
- 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— 准备
==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...
- HDU4248【DP】
题意: 有n种石头,每种石头有a[i]个,然后让你去组合,问有多少种组合: 思路: 这种题,排列组合知识一上,非常麻烦,已经搞了好几题,看似就是排列组合的姿势,然而最终都是一种递推,也就是DP,而且比 ...
- 渲染路径-u3d渲染路径比较
Unity支持不同的渲染路径.应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个.不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影. 项目所使用的渲染路径在Player S ...
- 三星Gear VR与Oculus Rift DK2全方位比拼
网易数码1月6日消息,Oculus Rift DK2并不是面向消费者的产品,而三星Gear VR则进入了大众市场.虽然二者有点不同,但还是值得对比一番,看看Gear VR相比当下虚拟现实领域佼佼者Oc ...
- C#箴言:定义常量的两种方法
在C#中定义常量的方式有两种, 一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant). 前者用"const"来定义 ...
- 《C#入门经典》学习笔记(集合、比较和转换)
http://xiang-ai-2002.blog.163.com/blog/static/8477933201041824429161/ 集合 C#中的数组是作为System.Array类的实例来执 ...