Java语法

1.注释、标识符、关键字

注释

不会被程序执行的代码或者块

//双斜杠表示单行注释

/*表示多行注释*/

标识符、关键字

关键词系统事先定义好的,我们能直接拿来用的,不能作为变量名使用

  • 所有的标识符只能以字母、美元符号、下划线开始

  • 首字母后可以以字母、美元符号、下划线或者数字组合

  • 不能使用关键字作为标识符,标识符区分大小写

  • 可以使用中文作为标识符(不推荐)

2.数据类型

Java是一门强类型语言:要求变量的使用严格符合规定,所有话能量要先定义后才能使用

Java两大数据类型

  • 基本数据类型
  • 引用数据类型

public class Demo{
public static void main(String[] args){ //基本数据类型的表示
int num1 = 10; //最常用的int
byte num2 = 20; //字节类型
short num3 = 30; //短整数类型
long num4 = 60L; //长整数类型 末尾L表示
float num5 = 50.1F //浮点数float后面+f
double num6 = 3.1415926535//浮点数类型
char word = 'H' //char类型表示一个字符 一个!
boolean t = true; //true or flase }
}

3.基本类型拓展

public class demo{
public static void main(String[] args){ //整数
int i_10 = 10; //表示十进制数的10
int i_8 = 010; //表示八进制数的10
int i_16 = 0x10 //表示是十六进制数的10 //字符 字符本质还是数字 (int)可以强制转换为其对应的数字,其数字是对于的ASCLL码
char a = 'n';
char b = '你';
System.out.println(a);
System.out.println((int)a); System.out.println(b);
System.out.println((int)b); //布尔值
boolean flag = true;
if(flag){} = if(flag == true){}
}
}

4.类型转换

在Java运算中,不同类型的数据要先转化为同一数据类型,然后就行运算

原则上转换规则如下:

  • 强制类型转换(高到低)
  • 自动类型转换(低到高)
public class demo{
public static void main(String[] args){
int i = 128;
byte b = (int)i; //强制类型转换 内存溢出
System.out.println(b); //-1
}
}

注意点

1.不能对boolean类型转换

2.不能把对象类型转换为不相干的类型

3.转换会造成精度损失

拓展:数字之间可以用下划线分割

int money = 100_0000_0000;

5.变量

数据类型 变量名 = 值;

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

变量作用域

  • 类变量

    被static修饰 可以在其他方法内部直接使用

  • 实例变量

    与类绑定,调用前必须先new类的对象

  • 局部变量

    在方法内部定义,仅限于方法内部使用

public class Demo{

    //类变量 static
static double salary = 2500.0; //属性:实例变量 不初始化会编程默认值
//所有数值都是0或0.0 bool默认是false
//除了基本类型都是NULL
int i = 10; public static void main(String[] args){
System.out.println(salary);
int i = 10; //属性:局部变量
} //其他方法
public void other(){
Demo d = new Demo();//使用实例对象
System.out.println(d.i);
}
}

常量

一旦被定义就不能被改变的称之为常量,常量必须初始化!

final PI = 3.1415926; //常量一般使用大写字母表示

6.基本运算符 operator

public class demo{
public static void main(String[] args){
int a = 10; //赋值运算符
int b = 20; System.out.println(a+b); //30
System.out.println(a-b); //-10
System.out.println(a*b); //200
System.out.println(a/(double)b); //0.5
System.out.println(a%b); //0 System.out.println(a<b); //true
System.out.println(a>b); //false
System.out.println(a==b); //false
System.out.println(a!=b); //true int c = a++;
int d = ++a;
System.out.println(c); //10
System.out.println(d); //12
System.out.println(a); //12 //拓展:幂运算
double pow = Math.pow(2,3)//2*2*2;
System.out.println(pow); //8
}
}

如果运算过程中有long类型的话那么结果都为long反之所有结果都为int

(cast 转换)

逻辑运算符

  • 与(and) &&

    两个运算符都为真时返回真 【运算符相乘】

  • 或(or) ||

    两个运算符其中一个为真返回真【运算符相加】

  • 非(nor) !

    单个运算符取相反的结果【运算符取反】

public class demo{
public static void main(String[] args){
int a = true;
int b = false; System.out.println(a&&b);//false
System.out.println(a||b);//true
System.out.println(!a);//false }
}

短路运算

与运算时如果第一个操作数为假那么直接返回假 不会计算第二操作数

或运算时如果第一个操作数为真那么直接返回真 不会计算第二操作数

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

位运算

&:位相乘结果

|:位相加结果

^:位是否相同 相同得1 反之得0

~:是1得0 是0得1

<<、>>:左移、右移运算符

public class demo{
public static void main(String[] args){
/*
0000 0000 0
0000 0001 2 2<<0
0000 0010 4 2<<1
0000 0100 8 2<<2
0000 1000 16 2<<3
*/
System.out.println(2<<0);//0
System.out.println(2<<3);
}
}

效率高!!!!

条件运算符

x ? y : z

如果x为真返回y反之返回z

public class demo{
public static void main(String[] args){
int y = 10;
int z = 20;
int x = (y==10)?y:z;
System.out.println(x); //10
}
}

运算符优先级

7.包机制

  • 类===>文件

  • 包===>文件夹

一般包以公司域名导致规则

例如:www.baidu.com 倒置后 com.baidu.www

在IDEA创建包时可以输入com.baidu.www会自动创建各个层级包

在Java代码中可以使用package来关联包名

package com.baidu.www; //导入本类包
import java.util.Data; //导入外类包

package必须在import上面

8. Java Doc

/**
* @Description 这是文档注释
* @Author StarVik
*/

在控制台编译Doc注释信息为一个文档

javadoc -encoding UTF-8 charset UTF-8 demo.java

课程来源:B站 遇见狂神说

零基础入门学习Java课堂笔记 ——day01的更多相关文章

  1. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  2. 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...

  3. 《零基础入门学习Python》【第一版】视频课后答案第001讲

    测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...

  4. 零基础入门学习Python(1)--我和Python的第一次亲密接触

    前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...

  5. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  7. 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则

    080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...

  8. 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和

    057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...

  9. 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...

  10. 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念

    055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...

随机推荐

  1. 扒一扒迅雷11新功能——6T云盘功能、极致传输、高清播放、跨端同步

    云盘功能 极致传输 高清播放 跨端同步

  2. 机器学习-线性分类-支持向量机SVM-软间隔-核函数-13

    目录 1. 总结 SVM 2. 软间隔svm 4. 核函数 1. 总结 SVM SVM算法的基础是感知器模型, 感知器模型 与 逻辑回归的不同之处? 逻辑回归 sigmoid(θx) 映射到 0-1之 ...

  3. idea 查看类的继承结构及其子类

    转载请注明出处: 在idea中通过查看一个类或接口的继承结构,可以了解到整个相关功能设计的流程 idea中查看一个类或接口的继承结构的方法如下: 1.选中一个类:右键进入继承结构视图: 效果图如下:

  4. 关于spring-boot-starter-parent 3.1.2和3.1.5版本的区别导致的错误

    1.问题 在学习黑马程序员SpringBoot3+Vue3全套视频教程时,手动配置springboot项目时,由于之前spring-boot-starter-parent安装的版本是3.1.5,视频要 ...

  5. 在Windows 版的Chrome中切换标签页

    按住Ctrl+tab键之后使用page up/ page down键左右移动!

  6. [转帖]TPC-C 、TPC-H和TPC-DS区别

    https://zhuanlan.zhihu.com/p/339886289 针对数据库不同的使用场景TPC组织发布了多项测试标准. TPC-C: TPC Benchmark C于1992年7月获得批 ...

  7. oceanbase部署维护命令学习

    oceanbase部署维护命令学习 背景 之前学习过TIDB数据库, 最近又准备学习一下Oceanbase数据库 发现其实两者还是比较相似的. 比较大的区别在于. TiDB是完全开源的, 并且比较明确 ...

  8. [转帖]Nginx动静分离;资源分离;rewrite重写、跳转、伪静态、规则、日志

    https://www.cnblogs.com/caodan01/p/14745562.html 一.动静分离 动静分离,通过中间件将动静请求和静态请求进行分离: 通过中间件将动态请求和静态请求分离, ...

  9. [转帖]如何在一个Docker中同时运行多个程序进程?

    https://cloud.tencent.com/developer/article/1683445 我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一 ...

  10. vCenter 宕机后证书续期处理

    vCenter 宕机后证书续期处理 背景 最近护网, 我司被选中作为防守方 因为发现一个vCenter控制台出现异常访问, 被管理员强行断网. 因为是周六的事情,当时自己也没太在意,想着工作日添加网络 ...