java笔记

>IDEA

**快捷键:psvm 创建main方法**

sout 打印命令

IDEA优化

单行注释//  多行注释/* */ 

文档注释/** *@Author *@Description */

标识符:类名,变量名,方法名,以(a-z)(A-Z)($)(_)开头,首字母之后可以任意(a-z)(A-Z)(0-9)($)(_)组合

关键字 public class static void

java新建的类名不能是关键词

java强类型语言,区分大小写,所有变量必须先定义才能使用

整数四种表示类型:byte short int(最常用) long(要在数字后面加个L)

小数:浮点型 float(在数字后面加个F) double()

字符 char(代表一个字符)

字符串 String    String不是关键字,是一个类

布尔值 boolean flag = true

引用类型:类,接口,数组  String是引用类型

整数拓展:二进制0b 十进制 八进制0 十六进制0x

浮点数拓展:BigDecimal

字符拓展:强制转换,将字符转化为数字    char mm="a"; System.out.println((int)mm);

强制转换:(类型)变量名  高--低

自动转换:低--高  byte>short>char>int>long>float>double

不能对布尔进行转换

变量作用域:类变量,实例变量,局部变量

只在一个类里面,方法的外面 static int mm = 1;  可以直接引用//类变量

只在一个类里面,方法的外面;可以不赋值,会有默认值 int mm = 1; 需要引用new 类名()来引用 //实例变量

只在一个方法里定义和使用  int mm = 1; //局部变量

常量final

修饰符,不存在先后顺序

三元运算符  X?Y:Z

Scanner对象:获取终端输入

Scanner scanner =new Scanner(System.in);

if (scanner.hasNext()){

System.out.println(scanner.next());

}

scanner.close();

next和nextLine    nextLine用得较多

java  if(a==b){}    python  if a==b:    shell  if [[ $a == $b ]];then

m=m+1    java  m++    python  m+=1    shell  m++

if选择结构 if(){} else if(){} else{}

switch选择结构  switch(){ case A:语句; default:语句 }  break; case穿透现象

while循环结构    while(){}    while(true){}

do while循环    do{}while(){}

for循环    for(初始化;布尔表达式;更新){}    快捷键100.for

死循环for(;;){}

java  for(int x:numbers)    python  for x in numbers

方法:public static int add(int a,int b){ return a+b }

值传递(java)和引用传递

方法的重载

javac .java文件生成.class文件  java .class文件可以直接执行.class

public static void main(String[] args)上面,args是一个数组,可以通过命令行传入参数获取,args.length数组长度

可变参数,不定项参数  public void test(int... i){}  ...代表i是一个可变参数,只能放在最后面

递归

数组:相同类型的有序集合,每一个数据是数组元素

类型名[] 变量名;  or  类型名 变量名[]; 使用new来创建数组

int[] nums = new int[10];可以存放10个int类型的数字

数组对象保存在堆中

多维数组 int[][] array = {{1,2},{3,4},5,6}

数组工具类Arrays.toString(a) 可以打印整个数组

Arrays.sort(a) 数组升序排序

面向对象编程

public String sayhello(){ return "hello.world"; } 定义的方法是String类型,就需要返回字符串

public void sayhello(){ return; } 定义的方法是void类型,返回空

静态方法 static 在其他的java.class可以直接调用

非静态方法  在其他的java.class调用,需要实例化这个类new

一个.java文件里面只能有一个public class类,但是可以有多个class类

创建一个类对象, new 一个类()

类中方法指代对象本身  java  this    python  self

构造器

在一个类里面, 定义一个有参构造之前必须定义一个无参构造

new本质:在调用构造器

方法中,属性私有 private int i d

继承extends

java类中只有单继承,没有多继承  public class Student extends Person

四个修饰符:public protected default private

重写都是方法的重写,和属性无关

重写@Override 需要有继承关系,非静态方法会被重写,静态方法不会被重写 ,修饰符只能是public,不能是private

多态:是方法的多态,属性没有多态

static,final,private不能重写

用static定义方法,是全局的方法,不需要new。用static定义变量,可以获取类变量 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java模拟试题刷题日记,20201207 虽然我什么都不会,但不妨碍我在比赛中抱着大佬的大腿躺~ 开篇语 因为试...
    别欺负小白了好咩阅读 3,517评论 0 0
  • 07-一维数组 7.1 引言单个的数组变量可以引用一个大的数据集合。 7.2 数组的基础知识一旦数组被创建,他的大...
    jxxh阅读 3,290评论 0 0
  • 一. 二维数组 定义所谓的二维数组就是在数组中存放数组外层数组中存储的是数组的引用 初始化静态初始化先指定数组中的...
    拼搏男孩阅读 952评论 0 1
  • ● 如何打印二叉树每层的节点? 考察点:二叉树 参考回答: 实现代码: import java.util.Arra...
    le_u阅读 3,440评论 0 0
  • #开发环境搭建 ###JDK ![](https://upload-images.jianshu.io/uploa...
    高先生_4ad1阅读 1,729评论 0 0