首页 > 编程语言 >Java基础知识

Java基础知识

时间:2023-02-09 16:58:19浏览次数:36  
标签:Java 字节 int long 基础知识 运算符 类型 左向右

Java 基础

注释

单行注释

//单行注释

多行注释

/*

多行注释

多行注释

*/

文档注释

/**

*文档注释

*/

标识符

  • 只能以字母、$、_开头
  • 首字符之后可以是字母、$、_、数字的组合
  • 不能使用关键字作为变量名或方法名
  • 大小写敏感

关键字

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

数据类型(Java是强类型语言)

1 基本数据类型

1.1 数值类型

1.1.1 整数类型

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

  • byte : 1个字节(8位)-128~127
  • short : 2个字节 ,-32768~32767
  • int : 4个字节
  • long : 8个字节(long类型要在数字后面加个L long a = 30L)
1.1.2 浮点类型(小数)

有限、离散,存在舍入误差,接近,接近但不等于,最好完全避免使用浮点数进行比较

所以银行业务不使用浮点数表示,而是使用BigDecimal这个数学工具类

  • float : 4个字节(float类型要在数字后面加个F long a = 30F)
  • double : 8个字节
1.1.3 字符类型

所有字符本质还是数字

常见转义字符

\t 制表符
\n 换行符,将光标移动到下一行开头
\\ \
\" "
\' '
\r 回车符,光标移到行首,如’\r’后面还有内容会覆盖原来的内容
? ?
  • char : 2个字节

1.2 boolean类型

  • 只能取值为true或false

2 引用数据类型

  • 接口

  • 数组

类型转换

运算中,不同类型的数据先转换为同一类型,然后再进行运算。

低-->高
byte,short,char->int->long->float->double
  • 不能对布尔值进行转换
  • 不能把对象类型转换为不相干的类型
  • 再把高容量转换到低容量的时候,强制转换
  • 转换的时候可能存在内存溢出或精度问题

强制类型转换(高-->低)

(需转换的类型)变量名 //注意避免内存溢出

自动类型转换(低-->高)

变量

变量作用域

类变量

关键词static

实例变量

从属于对象,默认值为

数值 布尔值 else
0或0.0 false null

局部变量

必须声明和初始化值

常量

final 常量名=常量值

运算符

算术运算符 +,-,*,/,%,++,--
赋值运算符 =
关系运算符 >,<,>=,<=,==,!=,instanceof
逻辑运算符 &&,||,!
位运算符 &,|,^(异或),~,>>(右移),<<,>>>
条件运算符 ? :(x ? y : z, 如果x==true,则结果为y,否则为z)
扩展赋值运算符 +=,-=,*=,/=
字符串连接符 +
int b = a++; //先给b赋值,a再自增

int b = ++a; //a先自增,再给b赋值

2*8怎么运算最快? 2<<3,左移3位(位运算效率高)

int a = 10, b = 20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30

运算符优先级

优先级 运算符 结合性
1 ()、[]、{} 从左向右
2 !、+、-、~、++、-- 从右向左
3 *、/、% 从左向右
4 +、- 从左向右
5 «、»、>>> 从左向右
6 <、<=、>、>=、instanceof 从左向右
7 ==、!= 从左向右
8 & 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 =、+=、-=、*=、/=、&= 从右向左
14 |=、^=、~=、«=、»=、>>>= 从右向左

包机制

一般利用公司域名倒置作为包名:cn.edu.bupt.www

JavaDoc

  • javadoc命令是用来生成自己API文档的
  • 参数信息
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早适合用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况

标签:Java,字节,int,long,基础知识,运算符,类型,左向右
From: https://www.cnblogs.com/yfy--/p/17106051.html

相关文章

  • Java基础知识点(键盘录入、算术运算符、类型转换)
    一:键盘录入Java帮我们写好一个类叫Scanner,这个类这个类就可以接收键盘输入的内容步骤一:导包——Scanner这个类在哪(导包必须出现在类定义的上面)importjava.util.Scanner;步......
  • java基础知识精华总结 java面试题
    1、文件拷贝,把一个文件的内容拷贝到另外一个文件里packageorder;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;import......
  • json转java以及校验用户名是否存在
    json转java步骤:1.导入jackson相关jar包2.创建Jackson核心对象ObjectMapper3.调用ObjectMapper的相关方法进行转换1.readValue(json字符串数据,C......
  • Java Swing 禁止黏贴动作
    碰到一个需求,不让复制黏贴。可考的方法有:1重写JTextFieldpaste函数  2 删除组件ActionMap中与CTRL+V按键相关的操作因为JTextField已经被封装了一层,就不想再......
  • 使用AES的256位密钥加解密报错java.security.InvalidKeyException: Illegal key size
     使用AES的256位密钥加解密报错java.security.InvalidKeyException:Illegalkeysize。编写微信小程序在获取用户时,需要根据小程序传来的iv,encryptedData,和se......
  • JAVA缓存规范 —— 虽迟但到的JCache API与天生不俗的Spring Cache
    大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。有......
  • java冒泡排序
    java/**冒泡排序1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置2.每一次比较,都会产生一个最大或者最小的数字;3.下一轮则可以少一次排序!4......
  • java基础
    注释注释并不会被执行,是给我们写代码的人看的;书写注释是一个非常好的习惯单行注释//多行注释/*注释*/文档注释/**文档*/标识符关键字java所有的组成部......
  • 【Java面试】Runnable和Thread比较
    在线程使用过程中,我们肯定会用到Runnable与Thread,前者的实现方式是实现其接口即可,后者的实现方式是继承其类。两者实现方式带来最明显的区别就是,由于Java不允许多继承,因此......
  • JAVA PDF转图片,以及几种方案对比
    背景项目需要将PDF转为图片存储,在网上搜索,找到了三种方案(这里链接都是找的github上的地址):pdfbox,开源软件,apache社区在维护,还比较活跃icepdf,商业软件,但是github上有开......