对程序员来说,学习一门新的语言,最开始的代码当然是hello world!下面我们从这段代码入手,一步一步来学习Java基础知识。

class Hello{
public static void main(String[]args){
system.out.print("Hello world!");
}
}

楼主所在的公司用的是myeclipse软件,我来简单说一下创建一个文件的步骤:

打开界面,在左边空白处右击选择new->other->双击Java Project -> Project name(项目名称) ->Finish;

以上一个箭头代表一个确认项。项目存放在workspace中,这个工作空间可以自己指定。

然后右击src->选择class->pockage(文件夹名称)->Name(类名):Hello->点Hello.java编辑。

生成入口文件:

一般来说有个选项,点上对勾,创建的文件就自带头文件,如果没有勾,可以写一个Main单词,然后按住Alt + /,然后回车,快速生成入口文件。

点菜单栏的一个绿色的类似于播放的按钮,就可以在控制台查看结果了。

关键字:

在编程语言中有一些实现定义的,有着特殊意义和用途的单词。

保留字:

和关健字一样是事先定义好的,只是暂时没有特殊用途,以后某天会突然被赋予意义和被使用,因此保留下来的单词。goto和const就是Java的保留字。

标识符:

在程序中自定义的一些名称,它是由26个字母大小写,数字0-9,符号_和$组成,规定:

1.不能以数字开头,2.不可以使用关键字,3.见明知意

快捷键:

Alt+/可以快速补全

注释:

一个多行注释中不能嵌套多行注释

/**文档注释

可以自动生成文档

*/

ctrl+alt+/向下复制一行

/**/技巧:

可以使用多行注释查找问题所在,报错地。注释的代码不会被编译成字节码,不占内存。

bin目录下存放字节码文件

xJad反编译工具,将class文件转换成java文件。

常量:

固定的一个值。包括:

1.整数常量 system.out.print(10);

2.小数常量 system.out.print(10.10)

3.字符常量 system.out.print('A')

4.字符串常量 system.out.print("abc")

注意:单引号只能包含一个字符,多字符只能用双引号,双引号也可以包含单个字符。

5.布尔常量 false ,true

6.null常量 system.out.print(null)

关于进制:

0-9十进制:11(D)以数字11为例,各进制的表示方法。

0-1二进制:11(B)。

0-7八进制 :11(O)三位一体

0-9ABCDF十六进制 :11(F)四位一体

Byte字节:

一个字节等于 8个二进制单位,等于8个Bit位。

字节是最小的存储单位

1k=1024B; 1M =1024K ;1G=1024M; 1T=1024G

所以1024对于我们程序员来说,真是一个神圣的数字。

6(B)=110;

11(O) = 001 001(B)三位一体

计算机中,用到的数字,最终都会转换成二进制

数据类型转换规则:

1.运算时,两端的数据 必需要保持一致。

2.如果运算都为数值类型,会自动的吧小的类型转换为大的类型。

3.JVM在运算时,识别的最小值类型为Int。

数据类型包括:基本数据类型和引用数据类型。

基本数据类型:整数、小树、字符、布尔。

引用数据类型:类、数组、接口。

注意:字符串必需用双引号括起来。字符串拼接用加号。

无论什么类型与字符串拼接都将转换成字符串。

格式化符:format

string = string.format("姓名:%s,年龄:%d,身高:%.2f","小明",23,1.76);
/*string.format()是一个静态方法,可以规范代码。*/
格式化时:%s对应字符串,%d对应整数,%.2f表示显示2位小数。

判断前缀和判断后缀:startsWith();endsWith();

demo:
string filename="test.mp4";
  if(filename.endsWith(".mp4"))
  {
   system.out.println("支持视频格式");
  }

取余的符号规则:

-10 % -3 得 -1;  10 % -3 得 1; 符号由前面的数决定,跟是否同号无关。

myeclipse快捷键补充:

Refactor | Rename可修改包名、类名、属性名、方法名。

Ctrl+shift+F格式化代码,可读性更好。

Ctrl+F查找某个单词

equals方法:

字符串string使用equals来进行判断

String S1 = new String("nihao");
String S2 = new String("nihao");
if(s1.equals(s2)){
  system.out.println("相同");
}

不能写成if(s1==s2){};

compareTo():

compareTo比较 字符串大小,按照字典顺序来进行比较。

string s1 ="liming";
string s2 ="lilei";
if(s1.compareTo(s2)<0){
system.out.println(s1+"位于前面"):
}else{
system.out.println(s2+"位于前面");
}

compareToIgnoreCase();忽略大小写比较。

逻辑运算符:

^异或   :

false ^ true  //true;  相同为false,不同为true;

&与      &&短路与:

&两边表达式无论怎样都会执行

&&只要发现false,就不会执行后面的代码,返回false;

|或     ||短路或

|两边表达式无论怎样都会执行

||只要发现true,就不会执行后面的代码,返回true;

方法:

定义:一个小的功能,把一段代码存起来,以后可以重复使用。

打印字母b的方法
static void printB(){system.out.println("b");}
/*返回什么类型,定义时就用什么类型。*/
字符串拼接的方法
static string stringConcat (string str1,string str2)
{
string res = str1+str2;
return res;
}

方法的重载:

在同一个类中,允许方法的名称相同,但是方法的参数不同。我们称这样的叫做方法重载。

有了方法重载,功能相同,参数不同的方法,就不需要多次定义了。

数组:

相同的数据类型的书,有序的组成在一起。

格式:要存放的类型[] 数组名称 = new 数据类型[] {存放的内容};

例子:int[] age = new int[]{};

规则:

1.存放的数据必需有相同的数据类型。

2.存放的数据都是有序的,可通过角标来获取。

也可以先定义,再初始化:

//静态初始化:在创建数组时就已经确定了有多少元素,并把元素都放到了数组 中。

int[] ages;

ages = new int[] {21,22,23,24,25};

//如果不初始化,数组是不能使用的。

//动态初始化:一开始不知道要存哪些数组,所以先定义一个指定的空间大小。

int[] A = new  int[100];

A[0] = 1;A[1] =2;

system.out.print(A[0]);

//Array Index out of Bounds Exception这句常见的报错信息是指数组越界。

获取数组的元素个数:数组名称.length;

string[] names = new string[] {"zs","ls","ww"};

system.out.println(names.length);

变量作用域:

一句话理解作用域:定义的变量只在大括号内生效。

forrach()方法:

foreach()可以实现数组快速遍历

可变参数:

(它是数组参数的一种简写,自动把...转换成数组)

static boid sum(int ... args){
int res = 0;
for(int i = 0;i<args.length;i++){
res=res+args[i];
}
system.out.println(res);
}
public static void main(string[] args){
int[] params = {1,2,3,4};
sum(1,2,3,4);
}

【JAVA】学习笔记的更多相关文章

  1. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  2. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  3. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  4. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  5. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  6. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  7. 0025 Java学习笔记-面向对象-final修饰符、不可变类

    final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...

  8. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  9. Java学习笔记-多线程-创建线程的方式

    创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...

  10. 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类

    static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...

随机推荐

  1. [转]jQuery Validate使用说明

    本文转自:http://www.cnblogs.com/gimin/p/4757064.html jQuery Validate 导入 js 库 <script src="./jque ...

  2. inteliJ IDEA使用SVN进行代码管理

    inteliJ 自带版本控制,所以不用像网上其他人说的那样,装第三方插件. 首先装完inteliJ 后,在File-->Setting-->Version Control中选择Subver ...

  3. 了解WaitForSingleObject中WAIT_ABANDONED 返回值

    1.互斥量内核对象 互斥量内核对象用来确保一个线程独占对一个资源的访问.互斥量对象包含一个使用计数.线程ID以及递归计数.互斥量与关键段的行为完全相同.但是互斥量是内核对象,而关键段是用户模式下的同步 ...

  4. Angular JS例子 ng-repeat遍历输出

    首先要有Angular的插件:然后才开始遍历 :<!DOCTYPE html> <html lang="en"> <head> <meta ...

  5. Java入门到精通——框架篇之Hadoop概述

    一.Hadoop来历 Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明了倒排索引算法,通过加入了Map ...

  6. 虚拟机配置静态 IP 以后无法连接的解决办法

    问题描述 将虚拟机内部 IP 地址从动态获取改成静态 IP 以后,远程连接失败. 问题分析 Azure 虚拟机的内部 IP 默认为动态分配, 由 DHCP 服务自动分配, 在虚拟机的生命周期内, 该 ...

  7. Flask入门邮件同步与异步发送(九)

    ​ 应用场景: 用户在注册或者密码丢失等过程中,账号绑定邮箱,用户在进行身份认证的过程中,电子邮箱确实是一种很常用的方式,Python中提供了smtplib可以实现发送电子邮件功能,Flask框架也有 ...

  8. TP5.0:访问不同模块方法,跳转视图页面

    我们在开发项目时,都会给每个项目加上基本的后台管理页面,并命名为admin 那么,我们在添加admin后台模块后,怎么通过url访问admin后台模块文件代码呢? 1.访问admin模块默认文件的UR ...

  9. ZT 困难是什么?困

    困难是什么?困难就是摆在我们面前的山峰,需要我们去翻越;困难就是摆阻碍我们前行的巨浪,需要我们扬帆劈刀斩浪航行:困难就是我们眼前所下的暴风雨,要坚信暴风雨过后会有阳光和彩虹. 其实困难并不可怕,怕的就 ...

  10. Kubernetes stateful set讲解以及一个基于postgreSQL的具体例子

    Stateful Set是Kubernetes 1.9版本新引入的一个概念,用于管理有状态的应用. Kubernetes官方文档: https://kubernetes.io/docs/concept ...