JAVA入门

1.入口函数

package org.example;

/**
 * Hello world!
 */
public class App {
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

这个main作为入口函数,前面有几个修饰符

public:关键字 public 表示方法可以被外界访问到

static:意味着该字段或方法不依赖于任何特定的对象实例 。 即使我们从未创建过该类的对象,也可以调用其静态方法或访问其静态字段。

void:基本数据类型一种,表示不返回任何值

main:是函数入口的关键字,我改成main1就执行不了了

String[] args后面再描述

2.变量类型

JAVA变量分为基本变量类型和引用变量类型

基本变量的数据类型

类型范围字节数
byte-128 ~ 1271
short-32768 ~ 327672
int-2147483648 ~ 21474836474
long长整数8
float单精度浮点数4
double多精度浮点数8
char字符2
String (or any object)字符串
booleantrue false4

public class App {
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
        int i=1;
        long l=123L;
        float f=123F;
        double d =123D;
        System.out.println(d);

    }
}

引用变量类型:指针变量类型

3.运算

移位运算

通俗来说,正整数,左移就是乘2,右移就是除以二。

下面代码的1>>1,第二个1表示移动的位数

public class App {
    public static void main(String[] args) {
        byte i = 1;
        byte j = 1;
        System.out.println(i >> 1);
        System.out.println(j << 1);

    }
}

1的二进制数

00000001

 这个<<可以看成一个箭头,指向左边表示左移,指向右边,就是右移

左移

00000010

 当然就是2

右移

00000000

当然就是0

负数的移位比较复杂,暂时不考虑,感兴趣的可以看看计算机组成原理

10进制转二进制

  String s = Integer.toBinaryString(1<<1);

可以打印出具体的二进制数

位运算

public class App {
    public static void main(String[] args) {
        byte i =0b01;
        byte j =0b00;
        byte m =0b10;
        byte n =0b11;
        System.out.println(Integer.toBinaryString(i&n));//与
        System.out.println(Integer.toBinaryString(i|n));//或
        System.out.println(Integer.toBinaryString(~m));//非
        System.out.println(~m);//非
        System.out.println(Integer.toBinaryString(i^m));//异或
    }
}

 

4.修饰符

在定义类,变量,方法,接口的时候,会遇到很多修饰符,这里做个总结,方便自己查阅

下面表格,可能不一定对,在进一步学习中完善

public修饰类可供外部调用
方法可被继承,覆写,访问
属性可被继承,覆写,访问
private方法

父类:

父类内部可以访问,实例化后不能访问

子类

子类内部不可方法,实例化也不能访问

属性

父类:

父类内部可以访问,实例化后不能访问

子类

子类内部不可方法,实例化也不能访问

protect本包,本类中,和public没有区别
final阻止继承
方法阻止覆写
属性组织重新赋值
abstract抽象类,无法实例化
方法
属性
static 方法不需要实例化,可以直接类名.方法执行
属性不需要实例化,可以直接类名.属性访问,相当于全局变量

 

搜集到的图片总结,来源:https://www.cnblogs.com/jingmengxintang/p/5898900.html

5.接口

接口可以拥有静态属性

 

interface Person {
    public abstract  void run();
    public static final  int age=1;
}
class student implements sportsStudent {
    public void printAge() {
        System.out.println(this.age);
    }

    public void run() {
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值