java_day04_1java基础语法
目录
-
注释、标识符、关键字
-
数据类型
-
类型转换
-
变量、常量
-
运算符
-
包机制、JavaDoc
4 变量、常量、作用域
4.1 变量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。
type varname [= value] [{ ,varname [=value] }]
//数据类型 变量名 = 值 ;可以使用逗号隔开来声明多个同类型变量,但是不推荐
-
注意事项:
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
public class demo07 {
public static void main(String[] args) {
//int a,b,c
int a=1;
int b=2; //尽量分开写,提高程序可读性
String name = "xinxueqi";
char x = 'X';
double pi = 3.1415926;
}
}
-
变量分为成员变量和局部变量,局部变量必须声明和初始化,且只在方法内使用。
-
成员变量又分为实例变量和类变量,是类里定义的变量,在方法、构造方法和语句块之外。
public class demo08 {
//--------------------------------------------------------------
//类变量 static
static double salary = 2500;
//--------------------------------------------------------------
//属性:变量
//--------------------------------------------------------------
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值为0或者0.0;
//布尔值:默认是false;
//除了8个基本类型,其余的都是Null;
//--------------------------------------------------------------
String name;
int age;
//main方法
public static void main(String[] args) {
//--------------------------------------------------------------
//局部变量:必须声明和初始化,只在方法内有效
//--------------------------------------------------------------
int i =10;
System.out.println(i);
//变量类型 变量名字 = new demo08();
demo08 Demo08 = new demo08();
System.out.println(Demo08.age); //0
System.out.println(Demo08.name); //null
//类变量 static
System.out.println(salary); //2500.0
}
//其他方法
public void add(){
}
}
4.2 常量
-
常量:可以理解成一种特殊的变量,初始化后不能再改变值!不会变动的值。
-
常量名一般使用大写字符。
public class demo09 {
//修饰符不存在先后顺序
final static double PI1 =3.14;
static final double PI2 =3.1415926;
public static void main(String[] args) {
System.out.println(PI1);
System.out.println(PI2);
}
}
4.3 变量命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则
5 运算符
5.1 Java语言支持如下运算符:优先级()
-
算术运算符:+,-,*,、,%,++,--
-
赋值运算符=
-
关系运算符:>,<,>=,<=,==,!=,instanceof
-
逻辑运算符:&&,||,!
-
位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
-
条件运算符 ?:
-
扩展赋值运算符:+=,-=,*=,/=
5.2 算术运算符
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
int a =10;
int b =20;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b); //不加double,就按照int型输出结果了
System.out.println("=======================================================");
long c =12312312131L;
int d =123;
short e =10;
byte f =8;
System.out.println(c+d+e+f); //Long 12312312272
System.out.println(d+e+f); //int 141
System.out.println(e+f); //int 18
}
}
-
运算时,如果类型低于int,结果都为int,否则按照最高类型输出。
5.3 关系运算符
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果: true or false
int a = 10;
int b =20;
int c =21;
//取余
System.out.println(c%a); // 21 / 10 =2...1
//关系运算符
System.out.println(a>b); //false
System.out.println(a<b); //true
System.out.println(a==b); //false
}
}
package operator;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a =3;
int b = a++; //执行完这行代码后,先给b赋值,再自增
System.out.println(a);
int c = ++a; //执行完这行代码后,先自增,再给b赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算 2^3
double pow = Math.pow(2,3);
System.out.println(pow); //8
}
}
5.4 逻辑运算符
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)); //逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b:"+ (a || b)); //逻辑或运算:两个变量都为假,结果才为false
System.out.println("!(a && b):"+ !(a && b));//逻辑非运算:变量为真,结果才为false
//短路运算
int c =5;
boolean d = (c<4) &&(c++<4); //第一个为假,后边语句不执行了,所以c的数值不会变化
System.out.println(d);
System.out.println(c);
}
}
5.5 位运算符
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
-----------------------------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001 //异或,不相同为1
~B = 1111 0010 //取反
-----------------------------------------
<< >> //二进制左移右移
*/
System.out.println(2<<3);
}
}
5.6 扩展赋值运算符
package operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b; //a=a+b
System.out.println(a);
//字符串连接符 +
System.out.println(""+a+b); //3020,直接链接
System.out.println(a+b+""); //30,计算完再链接
}
}
5.7 三元运算符
package com.xin.operator;
public class Demo08 {
public static void main(String[] args) {
// x ? y : z
//如果x==true,则结果为y,否则为z
int score = 80;
String out = score <60 ? "不及格" : "及格";
System.out.println(out); //及格
}
}
6 包机制、JavaDoc
6.1 包机制
-
包的本质就是文件夹
-
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
-
一般利用公司域名倒置作为包名: www.baidu.com 改为 com.baidu.www
-
在文件中新建包的时候,可以采用com.xin这种形式,注意关掉齿轮里的compact Middle packages,这样才能显示空包。
-
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能。
-
import com.xin.base.*; 可以将所有base子文件导进来
-
-
6.2 JavaDoc
-
javadoc命令是用来生成自己API文档的
-
参数信息(方法的注释,在方法里,定义变量下边,使用/即可自动生成**)
-
@author 作者名
-
@version版本号
-
@since指明需要最早使用的jdk版本
-
@param参数名
-
@return返回值情况
-
@throws异常抛出情况
-
package com.xin.base;
/**
* @author xinxueqi
* @version 1.0
* @since 1.8 //类的注释需要自己写
*
*/
public class Doc {
String name;
/**
*
* @param name
* @return //方法的注释可以自动生成
*/
public String test(String name){
return name;
}
}
-
生成JAVAdoc文档
输入 javadoc -encoding UTF-8 -charset UTF-8 文件名.java
即可在当前文件夹产生javadoc文档,名为index.html.
知识补充
1 字符char与字符串String
-
字符char用单引号‘ ’,字符串String用双引号“ ”
2 快捷键
-
复制当前行到下一行 ctrl+d
3 作业
本文来自博客园,作者:{诺不克},转载请注明原文链接:https://www.cnblogs.com/xinxueqi/p/16037055.html
好好写代码,天天开心啊!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战