首页 > 编程语言 >Java基础 (1)

Java基础 (1)

时间:2022-09-24 16:00:46浏览次数:51  
标签:Java String int 基础 System 运算符 println out

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

相关文章

  • Spring-02:构建并运行基础Spring应用
    承接上一篇随笔,我们使用IDEA创建了第一个Spring项目,现在来进行Spring项目的构建和运行Spring-01:初学资源准备及初始化spring项目1初始化Spring应用Spring项目结构①......
  • java static
    1.static关键字的目的:   主要用于内存管理2.static关键字的范围:     1)使用范围:javastatic关键字可以用在变量、方法、代码块和嵌套类伤。   2)作......
  • 【code基础】Comparator的使用
    sort(T[]a,Comparator<?supreT>c):根据指定比较器产生的顺序对指定对象数组进行排序。sort(T[]a,intformIndex,inttoIndex,Comparator<?supreT>c):根据......
  • JavaScript 的闭包(closure)
    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/对于闭包的理解,其实可以归纳为,在创建函数时,同时创建了一个集......
  • Python基础教程,Python入门教程(超详细)
    Python由荷兰数学和计算机科学研究学会于1990年代初设计,作为一门叫做ABC语言的替代品。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应......
  • Java 静态字段和静态方法
    在一个class中定义的字段,我们称之为实例字段。实例字段的特点是,每个实例都有独立的字段,各个实例的同名字段互不影响。还有一种字段,是用static修饰的字段,称为静态字段:stati......
  • 2022-2023-1 20221309 《计算机基础与程序设计》第四周学习总结
    ##作业信息<班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP<作业要求的链接>2-2023-1-CFAP/homework/12754<作业正文>https://www.cnblogs.com/Pl......
  • 2022-2023-1 20221401 《计算机基础与程序设计》第四周学习总结
    2022-2023-120221401《计算机基础与程序设计》第四周学习总结作业信息班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.......
  • Java 包(package) (不重要)
    为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。包的作用1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。2、如同文件夹一样,包也......
  • Java源码解析库对比:javaparser、qdox、spoon
    Qdox:paul-hammant/qdoxJavaParser:javaparser/javaparserSPOON:INRIA/spoonQdoxJavaParserSPOONGitHub社区1.3kUsers8Contributors328stars⭐45forks3.3......