从头学Java基础篇(一)

2024-03-29 15:58
文章标签 java 基础 从头

本文主要是介绍从头学Java基础篇(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java基础

注释

  1. 单行注释

    //这是单行注释
    
  2. 多行注释

    /*
    1这里是多行注释
    2这里是多行注释
    3这里是多行注释
    4这里是多行注释
    */
    
  3. 文档注释(JavaDoc)

    /**
    * @Description:HelloWorld
    * @Author:TheBeacon
    */
    

标识符

Java对所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

  • 所有的标识符都应该以字母(A-Z或a-z),美元符($),或者下划线(_)开始。

  • 首字符之后可以是以字母(A-Z或a-z),美元符($),或者下划线(_)或数字的任何字符组合

不能使用关键字作为变量名或方法名。

  • 标识符是大小写敏感的。

  • 合法标识符举例:age,$salary,_value,_1_value

  • 非法标识符举例:123abc,-salary,#abc

可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

数据类型

强类型语言:

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

弱类型语言:

  • 不要求变量的使用要严格符合规定

Java的数据类型分为两大类:

  • 基本类型(primitive type):

    1. 数值类型:

      ​ 整数类型:byte(1),short(2),int(4),long(8)

      ​ 浮点类型:float(4),double(8)

      ​ 字符类型:char(2)

    2. boolean类型:占一位,其值只有falsetrue两个

      public class Demo01 {public static void main(String[] args) {//八大基本数据类型//整数int num1 = 10;byte num2 = 20;short num3 = 30;long num4 = 40L;//long类型要在数字后面加个L//小数:浮点数float num5 = 50.1f;//float类型要在数字后面加个fdouble num6 = 3.14159265358;//字符char name = 'A';//字符串 String不是关键字,是类String name1 = "TheBeacon";//布尔值boolean flag = true;}
      }
  • 引用类型(reference type):

    类,接口,数组

数据类型拓展

public class Demo02 {public static void main(String[] args) {//整数拓展:进制  二进制0b  十进制  八进制0  十六进制0xint i = 10;int j = 010;  //八进制0int k = 0x10;  //十六进制0xSystem.out.println(i);System.out.println(j);System.out.println(k);System.out.println("======================================");//===============================================//浮点数扩展 银行业务怎么表示?¥// BigDecimal  数学工具类//float 有限      离散      舍入误差    大约  接近但不等于//double//最好避免使用浮点数进行比较//最好避免使用浮点数进行比较//最好避免使用浮点数进行比较float f = 0.1f; //f:0.1double d = 1.0 / 10;//d:0.1System.out.println(f == d);//falseSystem.out.println(f);System.out.println(d);float d1 = 2323232323232232323f;float d2 = d1 + 1;System.out.println(d1 == d2);//trueSystem.out.println("======================================");//===============================================//字符拓展//===============================================char c1 = 'a';char c2 = '中';System.out.println(c1);System.out.println((int)c1);//强制转型System.out.println(c2);System.out.println((int)c2);//所有字符本质还是数字//编码 Unicode 表:97 = a 2字节 0 - 65536  Excel 2^16 = 65536// U0000 - UFFFFchar c3 = '\u0061';System.out.println(c3);//a//转义字符//\t 制表符// \n 换行//字符串 StringString sa = new String("hello world");String sb = new String("hello world");System.out.println(sa == sb);//falseString sc = "hello world";String sd = "hello world";System.out.println(sc == sd);//true//对象	从内存分析}
}

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

    -------------------------------------byte,short,char->int->long->float->double
    

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

public class Demo03 {public static void main(String[] args) {int i = 128;//i: 128//强制转换 (类型)变量名 高->低byte b = (byte)i;//内存溢出System.out.println(b);// b: -128//自动转换 低->高double d = i;/** 注意点:* 1.不能对布尔值进行转换* 2.不能把对象类型转换为不相干的类型* 3.在把高容量转换到低容量的时候,强制转换* 4.转换的时候可能存在内存溢出,或者精度问题!* */System.out.println("==================================");System.out.println((int)23.7);//23System.out.println((int)-45.62f);//-45System.out.println("==================================");char c = 'a';int d1 = c + 1;System.out.println(d1);System.out.println((char)d1);}
}

在计算大数的时候注意先把类型不匹配问题解决掉。

public class Demo04 {public static void main(String[] args) {//操作比较大的数的时候,注意溢出问题//JDK7新特性,数字之间可以用下划线_分割int money = 10_0000_0000;//1000000000int years = 20;int total = money * years;System.out.println(total);//-1474836480,计算的时候溢出了long total2 = money * years;//默认是int,转换之前已经存在问题了System.out.println(total2);long total3 = money * (long)years;//先把一个数转换为longSystem.out.println(total3);//L     l和1容易分不清}
}

变量

  • 变量是什么:就是可以变化的量。

  • Java是一种强类型语言,每个变量都必须声明其类型。

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

    变量作用域:

    • 类变量

    • 实例变量

    • 局部变量

      public class Demo05 {//类变量   staticstatic double salary = 2500;//属性:变量//实例变量:从属于对象;如果不进行初始化,这个类型的默认值//布尔值:默认是false//除了基本类型,其余的默认值都是nullString name;//默认为nullint age;//默认为0static {//作用域高}//main方法public static void main(String[] args) {//局部变量:必须声明和初始化int i = 10;System.out.println(i);Demo05 demo08 = new Demo05();System.out.println(demo08.name);//类变量 staticSystem.out.println(salary);}//其他方法public void add() {}
      }

注意事项

  • 每个变量都有类型,可以是基本类型,也可以是引用类型。
  • 变量名必须是合法标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary,lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

常量

**常量(Constant):**初始化(initialize)之后不能再改变值!不会变动的值。

final 常量名 = 值;
final double PI = 3.14;

常量名一般使用大写字符。

public class Demo06 {//static和final是修饰符,不存在先后顺序static final double PI = 3.14;public static void main(String[] args) {System.out.println(PI);}
}

运算符

Java语言支持如下运算符:

  • 算术运算符:+,-,*,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,<,<=,>=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
  • 条件运算符:?:
  • 扩展赋值运算符:+=,-=,*=,/=

二元运算符

package operator;public class Demo01 {public static void main(String[] args) {//二元运算符int a = 10;int b = 20;int c = 30;int d = 40;System.out.println(a + b);System.out.println(a - b);System.out.println(a * b);System.out.println(a / (double)b);//不转型为0}
}

自动转型

package operator;public class Demo02 {public static void main(String[] args) {long a = 12123123123131L;int b = 123;short c = 10;byte d = 8;System.out.println(a + b + c + d);//LongSystem.out.println(b + c + d);//IntSystem.out.println((c + d));//Int}
}

关系运算

package operator;public class Demo03 {public static void main(String[] args) {//关系运算返回的结果:正确,错误 布尔值int a = 10;int b = 20;int c = 21;System.out.println(c % a);// c / a    21 / 10 = 2 ···1System.out.println(a > b);System.out.println(a < b);System.out.println(a == b);System.out.println(a != b);}
}

自增自减及幂运算

package operator;public class Demo04 {public static void main(String[] args) {//++    --      自增  自减  一元运算符int a = 3;int b = a++;//先给b赋值,再自增//a++ a = a + 1System.out.println(a);//4//++a a = a + 1int c = ++a;//先自增,再给c赋值System.out.println(a);//5System.out.println(b);//3System.out.println(c);//5//幂运算 2^3   2 * 2 * 2 = 8   很多运算,我们会使用一些工具类来操作double pow = Math.pow(2,3);System.out.println(pow);}
}

逻辑运算符

package operator;//逻辑运算符
public class Demo05 {public static void main(String[] args) {// 与(and)    或(or)   非(取反)boolean a = true;boolean b = false;System.out.println("a && b:"  + (a && b));//逻辑与运算:两个变量都为真,结果才为trueSystem.out.println("a || b:" + (a || b));//逻辑或运算:两个变量有一个为真,其结果才为trueSystem.out.println("! (a && b):" + !(a && b));//逻辑非运算:结果为真,则变为假//短路运算int c = 5;boolean d = (c < 4) && (c++ < 4);System.out.println(d);//falseSystem.out.println(c);//5}
}

位运算和移位运算

package operator;public class Demo06 {public static void main(String[] args) {/*A = 0011 1100B = 0000 1101A & 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       00000 0001       10000 0010       20000 0011       30000 0100       40000 1000       80001 0000       16*/System.out.println(2 << 3);//16}
}

+=、-=和字符串连接符

package operator;public class Demo07 {public static void main(String[] args) {int a = 10;int b = 20;a += b;//a = a + ba -= b ;//a = a - bSystem.out.println(a);//字符串连接符    +   StringSystem.out.println(a + b);//30System.out.println("" + a + b);//1020System.out.println(a + b + "");//30}
}

三元运算符

package operator;//三元运算符
public class Demo08 {public static void main(String[] args) {//X ? Y : Z//如果X = true,则结果为Y,否则为Zint score = 80;String type = score < 60 ? "不及格" : "及格";//必须掌握//if判断System.out.println(type);//及格}
}

包机制

  • 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

  • 包语句的语法格式为:

    package pkg1[.pkg2[.pkg3...]];
    
  • 一般利用公司域名倒置作为包名;

  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能

    import package1[.package2...].(classname|*);
    

JavaDoc

  • JavaDoc命令是用来生成自己API文档的。

  • 命令:javadoc -encoding UTF-8 -charset UTF-8 Doc.java

  • 在这里插入图片描述

  • 参数信息

    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况

使用IDEA生成JavaDoc文档

JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了。在简略介绍JavaDoc写法之后,再看一下在Intellij Idea 中如何将代码中的注释生成HTML文档。

IDEA如何配置后生成JavaDoc文档

  • one

在这里插入图片描述

  • two

在这里插入图片描述

  • 解释一哈:

    1. 选择是整个项目还是模块还是单个文件

    2. 文档输出路径

    3. Locale 选择地区,这个决定了文档的语言,中文就是zh_CN

    4. 传入JavaDoc的参数,一般这样写 -encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” -link http://docs.Oracle.com/javase/7/docs/api

  • 控制台输出:

    在这里插入图片描述

这样就生成到指定位置了,找到***index.html***打开就可看到生成的文档了!

这篇关于从头学Java基础篇(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859018

相关文章

【JavaEE初阶系列】——Cookie和Session应用之实现登录页面

目录 🚩本章目标  1.登录页面 2.servlet处理上述的登录请求  3.网站主页(成功登录之后的页面) 🚩实现过程 🎓登录页面 🎓Servlet处理登录请求 🎈获取请求传来的参数(用户名和密码) 🎈验证密码是否正确 📝不同场景设置字符集  🎓登录成功,创建会话 🎓实现登录后的主页 🎈获取当前用户对应会话对象 🎈查找到了后从会话中拿到存储的用户

xml转json高效率的java实现

转: https://blog.csdn.net/tkggetg/article/details/47784321

springBoot实现发送邮箱验证码 redis缓存源码

要在Spring Boot中实现发送邮箱验证码并使用Redis进行缓存,你需要遵循几个步骤。以下是一个简化的示例,展示了如何整合这些功能: 添加依赖 首先,确保你的pom.xml(Maven)或build.gradle(Gradle)中包含了Spring Boot的邮件支持、Redis支持和相关的starter依赖。 对于Maven,你可以添加如下依赖: xml复制代码 <!--

第08讲 struts2处理数目不定的JavaBean对象

1,在HeadFirstStruts2chapter02-02中, 导入addstudents.jsp文件, <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitiona

第05讲 struts2设置数据-属性驱动-Javabean

1,在 HeadFirstStruts2chapter02 中,新建类UserAction2 package com.cruise.action; import com.cruise.model.User; import com.cruise.service.UserService; import com.opensymphony.xwork2.ActionSupport; public clas

Java | Leetcode Java题解之第85题最大矩形

题目: 题解: class Solution {public int maximalRectangle(char[][] matrix) {int m = matrix.length;if (m == 0) {return 0;}int n = matrix[0].length;int[][] left = new int[m][n];for (int i = 0; i < m; i++)

SpringBoot+Thymeleaf第1讲:环境搭建

学习大纲: 项目目录结构: pom文件: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma

二、计算机基础(Java零基础二)

🌻🌻目录 一、认识计算机二、计算机的组成2.1 计算机硬件(摸得着,看得见)2.1.1 计算机硬件组成2.1.2 冯.诺依曼(计算机之父)体系结构 2.2 计算机软件(摸不着,看不见) 三、电脑常用快捷键四、CMD打开方式和DOS命令4.1 打开CMD的方式4.2 常用的DOS命令 一、认识计算机 什么是计算机 Computer:全称电子计算机,俗称电脑;能够按照程序运

C语言基础-枚举类型

C语言中的枚举类型(enum)是一种用户定义的数据类型,它允许为整数常量指定一个名称,使得代码更易于阅读和维护。枚举类型本质上是一种特殊的整数类型,但每个枚举值都有一个名字,而不是直接使用整数。 枚举类型的定义 枚举类型通过enum关键字来定义,下面是一个简单的例子: enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday,

Spring MVC(建立连接 + 请求)

文章目录 一、建立客户端和服务器的连接二、如何构造请求(传参)2.1 构造请求方式 + 参数通用注解2.2 传递单个参数2.3 传递多个参数2.4 传递数组/集合2.5 传递对象2.6 传递JSON 三、相关的其他请求操作3.1 获取URL中的参数 @PathVariable3.2 上传文件 @RequestPart3.3 获取和设置 Cookie/SessionCookie和Session