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. window对象的常见事件

    2.1 窗口加载事件 window.onload = function() { } 或者 window.addEventListener("load", function(){}) ...

  2. html5 video视频,本地环境好的,线上环境,不能播放

    本地环境ok,发布到线上不能播放.之前看这个视频,把video放在public文件夹下的. 后来经过排查,video放public文件夹下,导致的.应该放assets里. 后来,和同事讨论,线上服务器 ...

  3. 无向图求桥 UVA 796

    ***桥的概念:无向连通图中,如果删除某边后,图变 成不连通,则称该边为桥.*** ***一条边(u,v)是桥,当且仅当(u,v)为树枝边,且 满足dfn(u)<low(v)(前提是其没有重边) ...

  4. AvaloniaUI 取消标题栏,无边框无最大最小化,

    AvaloniaUI 取消标题栏,无边框无最大最小化, 创建一个Window控件 并且在Window中添加以下代码 ExtendClientAreaToDecorationsHint="Tr ...

  5. RSA趣题篇(简单型)

    1.n与p的关系 题目 ('n=', 288990088827100766680640490138486855101396196362885475612662192799072729620922966 ...

  6. [转帖]redis缓存命中率介绍

    缓存命中率的介绍 命中:可以直接通过缓存获取到需要的数据. 不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作.原因可能是由于缓存中根本不存在,或者缓存已经过期. 通常来讲 ...

  7. [转帖]Region Merge Config

    TiKV replicates a segment of data in Regions via the Raft state machine. As data writes increase, a ...

  8. [转帖]s3对象存储挂载到本地文件夹

    https://www.zhangzhuo.ltd/articles/2021/10/22/1634888049032.html 一.s3fs工具 s3fs-fuse 是一个采用 c++ 开发的开源应 ...

  9. 【转帖】3.JVM内存结构概述

    目录 1.JVM内存结构 1.JVM内存结构 在JVM系列的第一篇文章中已经给出了JVM内存结构的简图,下面是JVM内存结构更加详细的图. 同样,JVM的内存结构可以分为上中下3层. 上层主要是类加载 ...

  10. [转帖]QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考

    https://baijiahao.baidu.com/s?id=1675704570461446033&wfr=spider&for=pc 吞吐量 在了解qps.tps.rt.并发数 ...