Java入门学习笔记(二)

注释

单行注释://
多行注释:/* * / 或command+/ (mac)
文档注释:
/**
*@Description HelloWord
*@Author
*/

标识符

关键字

在这里插入图片描述

  • 所有标识符号都应该以字母、美元符$ 或者下划线开始
  • 首字母之后可以是字母、美元符$或者下划线、数字
  • 标识符大小写敏感

数据类型

强类型语言:java是一种强类型语言,要求变量使用严格符合规定,所有变量必须先定义才能使用。

优点:安全
缺点:慢,复杂

弱类型语言:javascript

java数据类型

基本类型(primitive type)

(**注意:都是小写)

整数类型:

  • byte占一个字节:-128~127
  • short占2个字节:-32768~32767
  • int占4个字节:-2147483648~2147483647 (-232 ~232 -1)
  • long占8个字节

浮点类型:

  • float占4个字节
  • double占8个字节

字符类型:

  • char占2个字节

布尔类型:

  • boolean占1个位

long类型要在数字后加L,例:

long num1 = 10L;

float类型要在数字后加F,例:

folat num2 = 20.1F

引用类型(reference type)

  • 接口
  • 数组

整型扩展

进制
  • 二进制:0b
  • 八进制:0
  • 十六进制:0x

浮点数扩展

(==号基本类型比较的是值,引用类型比较的是地址)

float f = 0.1f;
double d = 1.0/10;

f和d比较结果是不相等

float d1 = 233333333f;
float d2 = d1+1;

d1和d2比较结果是相等

结论:不要使用float比较,因为浮点数会有舍入误差,银行业务等最好用BigDecimal比较

字符拓展

char c1 = 'a';
char c2 = '\u0061';

都是字符a,\为转义字符

String a = new String('Hi');
String b = new String('Hi');

String c = 'Hi';
String d = 'Hi';

a和b不相等,c和d相等

类型转换

由于java是强类型语言,所以进行有些运算时,需要用到类型转换。
低—————————————————————>高
byte,short,char —> int —> long —>float —>double
小数优先级高于整数

高->低:强制转换。
低->高:自动转换。

内存溢出

int i =128;
byte b = (byte)i;

结果:i =128,b=-128。

原因是强制转换时内存溢出。

JDK7新特性:数字之间可以用下划线分割。

int a = 10_0000_0000; //仍然表示1000000000
int b = 20int total1=a*b;
long total2=a*b;
long total3=a*((long)b);

total1,total2的值均会出现异常,total3的值正常。

total1的原因是内存溢出,total2的原因是先内存溢出,后进行的类型转换。计算total3时,对b进行类型转换,将整个式子进行了提升,相乘结果为long类型。

变量

java变量是程序中最基本的存储单元,包括变量名,变量类型和作用域

type varName [=value] [{,varName[=value]}];

在这里插入图片描述
输出为

10
0
null
  • 类变量:从属于类,随着类消失一起消失 e.g. static
  • 局部变量:大括号内有效,必须声明和初始化
  • 实例变量:从属于对象,不需要初始化,默认值为0或null或false(除了基本类型,其他都是null)

常量

特殊的变量,初始化就不能改变,常量名一般使用大写
修饰符没有先后

final double PI = 3.14;

在这里插入图片描述

运算符

逻辑运算符:&&,||,!
取余/模运算:%
自增,自减(一元运算符):++,–

int a = 3;
int b = a++; //a = a + 1 执行完给b赋值,再自增

System.out.println(a); //4

int c = ++a; //执行完自增,再给c赋值

System.out.println(a); //5
System.out.println(b); //3
System.out.println(c); //5

基本运算后,结果类型会自动升型,如果运算因子有一个类型为long,则结果类型为long,如果两个运算因子类型为byte或short,结果类型为int。

幂运算
double pow = Math.pow(2,3);
字符串链接符

+号的应用

public class Demo06{
  public static void main(String[] args){
    int c=5;
    int d=6;
    System.out.println(""+c+d);
    System.out.println(c+d+"");
  }
}

输出为

5611

这是由于""+在前面会默认把后面的数据当作字符串处理,c+d在前面会先运算两个整数相加。

三元运算符

?的用法

x ? y : z //如果x==true,则结果为y,否则结果为z
public class Demo07{
  public static void main(String[] args){
    int c=50;
    int d=80;
    string type1=c<60?"不及格":"及格";
    string type2=d<60?"不及格":"及格";
    System.out.println(type1);
    System.out.println(type2);
  }
}

输出:

不及格
​及格
短路运算

当逻辑运算符&&遇到第一个条件即为假时,直接返回结果为假。

public class Demo05{
  public static void main(String[] args){
    int c=5;
    boolean d=(c<4)&&(c++<4);
    System.out.println(d);
    System.out.println(c);
  }
}

输出结果为:

false5

这是因为c<4已为假,故d直接赋值false,c++<4未运行。

位运算符

>> 相当于乘以2

<< 相当于除以2

优点是效率极高

2*8最快的运算方式:2>>3

包机制

本质就是文件夹
一般利用公司域名倒置作为包名
例:

//www.baidu.com  -->  com.baidu.www
package com.baidu.www;

package必须在最上面,import之类的都要在其下面

Javadoc

javadoc命令是用来自己生成api文档的
参数值:

@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
javadoc -encoding UTF-8 -charset UTF-8 hello.java

学习来源:【狂神说Java】Java零基础学习视频通俗易懂
bilibili网址:https://www.bilibili.com/video/BV12J41137hu?p=1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值