【JAVA】学习笔记

  对程序员来说,学习一门新的语言,最开始的代码当然是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);
}
原文地址:https://www.cnblogs.com/shaokai7878/p/9560302.html