IJ的使用
快捷键:
ctrl+d 复制当前行到下一行
psvm
public static void main(String[] args){
}
sout
System.out.println();
Java基础
1.注释
注释包括单行注释,多行注释和文档注释;
//单行注释
/*多行注释*/
/** 文档注释*/
/*
多行注释
123
block comments
*/
/**加回车
*@Description Hello
*@Author zhang
*/
javadoc就是文档注释
2.标识符和关键字
关键字
public | private | new | try | import |
---|---|---|---|---|
void | int | translent | boolean | native |
static | byte | assert | double | super |
class | char | catch | final | throws |
for | break | default | implements | while |
if | else | extends | long | do |
return | while | goto | protected | interface |
switch | continue | package | throw | short |
abstract | enum | strictftp | volatile | this |
case | instanceof | synchronized | const | float |
标识符
java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符.
- 标识符可以由字母(大小写英文字母),美元符$,下划线_,数字组成,但数字不能成为标识符的首字符.
- 关键字不可以当作标识符,但可以包含标识符。
- 标识符大小写敏感。
- 不建议使用中文命名或者拼音。
3.数据类型
java是一种强类型语言。要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
java的数据类型分为两类:基本类型和引用类型。
基本类型包括数值类型和boolean类型
//整数
byte num1 = 127;
short num2 = 30;
int num3 = 10;//最常用
long num4 = 66666L//long类型要在数字后面加L,小写l有看错的问题
//小数,浮点数
float num5 = 50.1F;//float类型要在数字后面加F
double num6 = 3.1415926;
//字符
char name = '啊';//字符只能有一个字。
//字符串,string不是关键字,类。
String namer = '字符串可以放多个字';
//布尔值:是非
boolean flag = false;
引用类型有类,接口和数组
数据类型拓展
//整数拓展
int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0~9~A~F
//二进制0b
//浮点数拓展
// 有限 离散 舍入误差 大约 接近但不等于
//最好完全避免使用浮点数进行数的比较
float f =0.1f;
double d =1.0/10;
System.out.println(f==d);//false
float d1 = 23121212312312313f;
float d2 = d1+1;
System.out.println(d1==d2); //true
银行业务要用 BigDecimal 数学工具类
//字符拓展
char c1 = 'a';
char c2 = '中';
强制转换 int(c1)
int(c2)
//所有的字符本质还是数字
//编码 Unicode 2字节 65536
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t制表符 \n换行
String s1 = new String('hello world');
String s2 = new String('hello world');
System.out.println(s1 == s2);//false
String s3 = 'hello world';
String s4 = 'hello world';
System.out.println(s3 == s4);//true
//对象 从内存分析
//布尔值扩展
boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
//less is more 代码要精简易读
4.类型转换
由于java是强类型语言,所以进行有些运算的时候,需要用到类型转换。
优先级
由低到高
byte,short,char----->int------>long------->float------>double
运算中,不同类型的数据先转换为同一类型,然后进行运算。
int i = 128;
byte b = (byte)i;
System.out.println(b);//-128
//强制类型转换,由高到低
//由低到高 自动转换
int i =128;
double b = i;
/*注意点:
1.不能对布尔值进行转换
2.不能对对象类型转换为不相干的类型
3.把高容量转换为低容量的时候,要强制转换
4.转换的时候可能会存在内存溢出,或者精度问题*/
//(int)23.7 --->23
//(int)-45.89f --->-45
char s ='a';
int d = s+1;
System.out.println(d);//98
System.out.println((char)d);//b
//操作比较大的数的时候,注意溢出问题。
//Jdk7新特性,数字之间可以用下划线分割,且不会产生任何影响
int annual_money = 10_0000_0000;
int years = 20;
int total = money*years; //溢出,负数
long total2 = money*years;//在转换之前就溢出了
long total3 = money*((long)years);//成功。先把一个数转换为long
5.变量、常量、作用域
变量
变量是可以变化的量,是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。
java变量是一种强类型语言,每个变量都必须声明其类型。
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个变量。但不建议这样做。
type varName [=value] [{,varName[=value]}] //此处[]表示可省略
注意事项:
- 每个变量都有类型,可以是基本类型或是引用类型。
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每个声明都必须以分号结束。
// int a=1,b=2,c=3;不建议这样做
char x = 'x';
double pi = 3.14;
String name = 'tiangong';
变量作用域 :类变量,实例变量,局部变量
public class Demo{
//类变量 static static是修饰符,不存在先后顺序
static double salary = 2500.0;
//实例变量:从属于对象;如果不自行初始化,就会变成这个类型的默认值。 0 0.0
// false 除了基本类型其余都是null;
String name;
int age;
//main方法
public static void main(String[] args){
//局部变量;必须声明和初始化值
int i = 1;
System.out.println(i);
//变量类型(可自定义) 变量名字 = new Dome();
Demo demo = new Demo();
System.out.println(dome.age);
System.out.println(dome.name);
System.out.println(salary);//可直接调用
}
//其他方法
public void add(){
}
}
常量
常量是初始化后不能再改变的值.一旦被设定,不允许改变.常量名一般使用大写字符
final 常量名 = value;
final double PI = 3.14;
//修饰符,不存在先后顺序.final static static final都可以
变量的命名规范
- 见名知意
- 类成员变量:首字母小写和驼峰原则
- 局部变量:首字母小写和驼峰原则
- 方法名:首字母小写和驼峰原则
- 常量:大写字母和下划线
- 类名:首字母大写和驼峰原则
驼峰原则,除第一个单词以外,后面的单词首字母大写.
举例: lastName,monthSalary
6.运算符 operator
java语言支持如下运算符:(必须掌握前四个)优先级,建议使用括号
- 算术运算符:+ 加,- 减,* 乘 ,/ 除,% 取余(模运算),++,--
- 赋值运算符:= 把右边赋值给左边
- 关系运算符:> , < , >= , <= , == 是否相等 , != instanceof 是否不相等
- 逻辑运算符:&& 与,|| 或,! 非
- 位运算符:&,|,^, ~, >>, <<, >>>(了解)
- 条件运算符: ? :
- 拓展赋值运算符:+=, -= ,*= ,/=
long a = 123123123123123L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d);//long 整数运算,有long则long ,无long则int。
System.out.println(b+c+d); //Int 带小数的运算,有double取double,无double取float
System.out.println(c+d); //Int
//关系运算符返回 true false 布尔类型
// ++ -- 自增,自减(a的值在这过程中改变了)
int a = 3;
int b = a++;//执行完这行代码后,先给b赋值,再自增。
//a = a + 1;
System.out.println(a);//4
//a = a + 1;
int c = ++a;//执行这段代码前,先自增,再给c赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
//幂运算 2^3 = 2*2*2 = 8 很多运算,我们会使用一些工具类来操作。
double pow = Math.pow(2,3);
System.out.println(pow);
//逻辑运算符 &&and ||or !取反
boolean a = true;
boolean b = false;
System.out.println("a && b :"+(a && b));//两个变量都为真,结果为真.若a为错,后面b不执行
System.out.println("a || b :"+(a || b));//两个变量至少一个为真,结果为真
System.out.println("!(a && b) :"+!(a && b));//真假倒换
位运算符 是背后二进制运算
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 两个都为一,才是一。
A|B = 0011 1101 一个为一,就是一
A^B = 0011 0001 相同为0,不同为1
~B = 1111 0010 取反
2*8 = 16 2*2*2*2
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
System.out.println(2<<3) // 16
//拓展运算符
int a = 10;
int b = 20;
a+=b; // a = a+b
a-=b // a = a-b
//字符串连接符 + 一方有String,都会转换成string类型
System.out.println(a+b) // 30 int
System.out.println(""+a+b) // 1020 string
System.out.println(a+b+"") //30 string
//三元运算符
// x ? y : z
// 如果x == true ,则结果为y,否则结果为z
int score = 80;
String type = score <60 ? "不及格":"及格";
System.out.println(type);//及格
7.包机制
为了更好的组织类,java提供了包机制,用于区别类名的命名空间。
包的本质是文件夹
包语句的语法格式为:
package pkg1[.pkg2[.pkg3[......]]]; //此处[]表示可省略
一般利用公司域名倒置作为包名;com.tiangong.blog.www
为了能够使用某一个包的成员,我们需要在Java程序中明确使用该包,用import 导入
import package1[.package2[......]].(classname|*);//此处[]表示可省略
import java.util.Date;
import com.tiangong.base.*;//导入报下所有类
javados生成文档
javados命令是用来生成自己API文档的
参数信息:
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
/**
*@author zhang
*@version 1.0
*@since 1.8
*/
public class Doc{
String name;
/**
*
*@param name
*@return
*@throws Exception
*/
//这个里面的内容是自动生成的
public String test(String name) throws Exception{
return name;
}
}
通过命令行生成javados文档
- 右击所在文件,点击 Show in Explorer,在文件夹的导航栏的地址前面加上cmd
- 在cmd黑屏里,右击-->默认值---->调字体大小
- 在cmd黑屏中输入javadoc -encoding UTF-8 -charset UTF-8 Doc.java
- 按回车
- 去文件夹找那个文件,发现多了很多其他的文件,打开index.html,就可以看见自己的文档
通过查找使用IDEA生成javaDos文档
jdk帮助文档
阿里巴巴java开发手册
狂神视频:b站搜 遇见狂神说
标签:Java,String,int,基础,System,运算符,println,out From: https://www.cnblogs.com/tiangong/p/16725796.html