02_java基础语法

1.Java命名规范

Java中命名需要符合的要求

1.必须以字母,_下划线,$美元符号开头,其余部分可以为字母、下划线、美元符号、数字。
注意开头不能是数字。而且不允许使用汉字命名

2.Java命名没有长度限制

3.Java的关键字和保留字不能够用来命名

4.Java的命名规范:

  • java采用匈牙利命名规范,命名要有明确的意义
  • 类名的首字母要大写,如果包含多个单词,那么每个单词的首字母都要大写
  • 变量名首字母小写
  • 常量全部大写
  • 方法名首字母小写。如果由多个单词组成,之后每个单词首字母大写
  • 包名全部小写,com.公司名称,项目名称,模块名称

2.关键字与标识符

2.1关键字

关键字就是由特殊含义的、被保留的、不能随意使用的字符。

特点:

  • 完全小写的字母
  • 在编程软件中由特殊的颜色。

2.2标识符

标识符就是我们自己定义的内容。比如类的名字、方法的名字、变量的名字等等

命名规范:

  • 类名的规范:首字母大写,后面每个单词首字母大写(驼峰模式)。例如:HelloWorld
  • 变量名规范:首字母小写,后面每个单词大写(小驼峰式)
  • 方法名规范:同变量名

3.须知:
package语句的作用:用来管理同名的类,主要防止同名类在同一个文件夹中的冲突,所以用包来管理

3.变量与常量

3.1.变量:

程序运行期间值发生变化的量称之为变量

3.1.1 变量的声明方式

  • 数据类型 变量名;
 byte b;
 byte b1;
  • 数据类型 变量名=变量值;(推荐使用)
 short s = 20;
 System.out.println(s);
  • 数据类型 变量名1=变量值1,变量名2=变量值2
int m = 12,n = 21;
//int m = 12,n = 21 ;
//m++;
System.out.println(m+n);
System.out.println(m);
  • 数据类型 变量名1,变量名2=变量值2;
int i, i1=23;
//int i;
//int i1=23;

3.1.2变量声明的注意点:

  • 变量必须先声明并且赋值以后才能使用(注意:变量在没有赋值时,不能够直接使用,也不能进行运算)
  • 只能以字母,下划线,美元符号开头
  • 变量命名时同一个类中只能出现一次,Java程序区分大小写

3.1.3 案例:
在内存中存储本金1000元显示内存中存储的数据的值

public class MyVariable{
	public static void main(String[] args){//main方法
		int money = 1000;//存储本息 //声明变量(注意命名规范)
		System.out.println(money);//显示存储的数据的值 //将变量输出
}
}

常见错误:
错误一

		public class Error1 {
	/*
	 * 常见错误 
	 */
	public static void main(String[] args) {
		String title;//声明变量title存储课程名
        System.out.println(title);//从控制台输出变量的值
	}
}

错误二

	public class Error2 {
	/*
	 * 常见错误
	 */
	public static void main(String[] args) {
		int %hour = 18;//声明变量hour存储学时
        System.out.println(%hour);//从控制台输出变量的值
	}
}

错误三

public class Error3 {
/*
 * 常见错误
 */
public static void main(String[] args) {
	String name = "张三";//声明变量存储“张三”
	String name = "李四";//声明变量存储“李四”
	}
}

3.2.常量

程序运行期间值不发生变化的量称之为常量

3.2.1 常量的声明方式
final 数据类型 常量名= 常量值
final double pi =3.14159;

3.2.2常量声明的注意点
通常只要遇到final修饰的否是常量,具有不可改变的特质

3.2.3 案例:计算圆的面积

public class Area{
	public static void main(String[] args){
		final double pi = 3.14159;//圆周率//定义常量pi
		double radius = 1.5;//半径
		double area = pi * radius * radius;//计算圆面积
		System.out.println("圆的半径是:"+radius);
		System.out.println("圆的面积是:"+area);
}
}

4.数据类型

java 语言是一门强类型语言,也就是说,每个变量或者符号常量甚至一个方法都必须有明确的数据类型或者是返回值类型。

4.1分类:

  1. 基本数据类型

    • byte:byte型(字节型)数据在内存中占用1个字节,表示的存储数据范围为:-128~127,因为第一位是符号位。
    • short:short型(短整型)数据在内存中占用2个字节
    • int:int型(整型)数据在内存中占用4个字节。
    • long:long型(长整型)数据在内存中占用8个字节。
    • float:float型(单精度浮点型)数据在内存中占用4个字节。(float精度为7-8位)
    • double:double型(双精度浮点型)数据在内存中占用8个字节。
    • char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占两位。
    • boolean:数据值只有true或false,适用于逻辑计算,占一位(bit)
    • 基本数据类型类型使用的注意点
      在java中,整形数据默认为int数据类型,浮点型默认为double数据类型,如果要表示long型数据或float型数据,要在相应的数值后面加上l、L或f、F,否则会出现编译问题
  2. 引用数据类型

    数组
    接口
    (后续再更)

4.2转换

  1. 自动类型转换
  • 将范围小的类型转换为范围大的类型称之为自动类型转化,也叫做隐形类型转换

  • 规则及注意点:
    两种类型必须要有兼容性(数值与浮点型的相互转换)
    目标类型必须大于原类型

  • 案例一
    定义char类型变量,将char类型转换为int类型,输出
    定义一个char类型,对变量进行算术运算,输出

public class ZiDongZhuanHuan{
	public static void main(String[] args){
		char c1 = 'a';
		int i1 = c1;
		System.out.println("char自动类型转换为int后的值等于"+i1);
		char c2 = 'A';
		int i2 = c2 + 1;
		System.out.println("char类型和int计算后的值等于"+i2);
}
}
  • 案例二
    计算平均分:
    定义第一次平均分,定义第二次平均分,定义增长率,计算平均分
public class AutoTypeChange{
	public static void main(String[] args){
		double firstAvg = 81.29;
		double secondAvg;
		int rise = 2;
		secondAvg = firstAvg + rise;
		System.out.println("第二次平均分是: "+secondAvg);
}
}
  1. 强制类型转换
  • 将范围大的类型转换为范围小的类型称之为强制类型转换,也叫显式类型转换

  • 格式:小范围的数据类型 小范围的变量名 = (小范围的数据类型)大范围的变量名

  • 格则及注意点:
    1)转换过程中可能导致溢出或损失精度
    如:

int i = 128;
byte b = (byte)i;

因为byte类型是8位,最大值为127,所以当int强制转换为byte类型是,值128就会导致溢出
2)浮点数到证书的转换是 通过舍弃小数而得,而不是四舍五入

(int)23.7 == 23;
(int)-45.89f== -45;
  • 案例一
    定义变量,对变量进行强制类型转换,输出变量
public class QiangZhiZhuanHuan{
	public static void main(String[] args){
		int i1 = 123;
		byte b = (byte)i1;
		System.out.println("int强制类型转换为byte后的值等于"+b);
}
}
  • 案例二
    计算市场份额:
    定义变量,定义增长率变量,计算现在的份额并且进行数据类型转换
public class TypeChange{
	public static void main(String[] args){
	int before = 20;
	double rise = 9.8;
	int now = before + (int)rise;
	System.out.println("新的市场份额是:"+now);
}
}

5.运算符与表达式

5.1.运算符

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java页提供了一套丰富的运算符来操纵变量

1)分类

  • 赋值运算符:(=:将右边的赋值给左边的)
    +=,-+,%=,/= 。a += b相当于a = a + b

    案例:
    计算成绩
    定义王浩、张萌的成绩,将往好的成绩赋值给张萌。将成绩输出

public class OperatorDemo{
	public static void main(String[] args){
		int wangScore  = 80;
		int zhangScore ;
		zhangScore = wangScore;
		System.out.println("张萌的成绩是 "+ zhangScore);
}
}
  • 算术运算符
    • +:【1】两个数相加之和;【2】表示连接符;【3】表示正号
    • -:【1】两个数相减之差;【2】表示负号
    • *:两个数相乘之积
    • /:两个数相除之商,取商
    • %:两个数相除之商,取余数
    • ++:【1】++在前:先自增后赋值;【2】++在后:先赋值后自增
    • –:【1】–在前:先自减后赋值;【2】–在后:先赋值后自减
  • 关系运算符(比较运算符)
    • ==:表示两个数是否相等,等为true,不等为false

    • !=:表示两个数是否不等,等为false,不等为true

    •   >:表示一个数是否大于另一个数   
      
    • <:表示一个数是否小于另一个数

    •  >=:表示一个数是否大于等于另一个数
      
    •   <=:表示一个数是否小于等于另一个数
      
    • 注意点
      比较运算符的结果都为boolean型,也就是true或者false

    • 案例一:
      刘德华今年53,刘嘉玲今年50,蔡依林今年35, 柳岩30了。如果小于35岁算青年,请问谁已经不是青年了。
      定义个人变量并且赋值,输出并且判断是否为青年人,

int liudehua = 53;
int liujialing = 50;
int caiyilin = 35;
int liuyan = 30;
System.out.println("刘德华是否是青年"+(liudahua<35));
System.out.println("刘嘉玲是否是青年"+(liujialing<35));
System.out.println("蔡依林是否是青年"+(caiyilin<35));
System.out.println("柳岩是否是青年"+(liuyan<35));
System.out.println("蔡依林是否比柳岩大"+(caiyilin>liuyan));
System.out.println("刘嘉玲是否是50岁"+(liujialing>=50));

  • 案例二:
System.out.println(1 / 2 * 3);//结果是
System.out.println(1.1 + "a");算是追加上,结果是1.1a
  • 逻辑运算符
    • &&:逻辑与运算符
      当结果都为true时结果才为true,只要有一个结果为false,那么最终结果就位false;当判断第一个表达式结果为false时就不在判断第二个表达式,结果就位false,只有当第一个表达式为true时才会去判断第二个表达式。它与语文中的和、与意思一致。

    • ||:逻辑或运算符
      只要有一个条件表达式为true,那么结果就为true;当条表达式都为false时,结果为false。它与语文中的或意思一致。

    • !:逻辑非运算符:跟正常的结果相反,也就是说对的就是错的,错的就是对的

    • 注意点:将多个条件连接起来,结果都为boolean型,也就是true或者false

    • 案例:
      张浩Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他
      定义音乐和java变量并且赋值,输出并且对变量进行判断

	public class JiangLi{
		public static void main(String[] args){
			int music =99;
			int java = 98;
			System.out.println((java >= 98 && music >= 80)||(java == 100 && music >= 70))
}		
}
  • 条件(三步)运算符
    • 格式:(条件表达式)?结果一(true):结果二(false)
    • 注意点:当条件表达式为true时,选择结果一,当条件表达式为false时,选择结果二
    • 案例:
      判断两个数的大小:定义两个变量,使用三目运算符进行判断输出
	public class SanMu{
		public static void main(String[] args){
			int a =12;
			int b = 15;
			System.out.println(a>b?true:false);
}
}

2)优先级
优先级由高到底:
小括号() > ! >算术运算符 > 关系运算符 > && > || > 赋值运算符

3)键盘输入与接受

//import java.util.Scanner;
public class Demo2{
	public static void main(String[] args){
	/*字符串类型*/
		Scanner sc = new Scanner(System.in);//创建输入对象
		System.our.println("请输入字符串: ");//设置提示语句
		String s = sc.next();//next()接受的是一个字符串类型数据
		//或者可以写sc.nextLine();接受的是一行的数据,string
		System.out.println("s====="+s);
	/*整数类型*/
		Scanner sc1 = new Scanner(System.in);//创建输入对象
		System.our.println("请输入整数: ");//设置提示语句
		int i = sc.nextInt();//nextInt()接受的是一个整数类型数据
		//或者可以写sc.nextLine();接受的是一行的数据,string
		System.out.println("i====="+(i+12));
		
}
}

5.2 表达式

表达式就是符号(+、-等)与操作数(b、3等)的组合

6.Java注释

  • 用来解释所写的JAVA语句的作用,但是JAVA的注释不在运行时的程序中出现

6.1JAVA注释的意义

- 用于解释你所写的代码
- 能够快速的通过注释找到错误代码的位置
- 协同开发,提高开发效率

6.2 JAVA注释分类

	1.//注释内容:单行注释
	2./*注释内容*/	:多行注释
	3./**注释内容*/:文档,文本注释(一般用于描述类,基本信息)

7.练习

7.1实现一个数字加密器

加密规则是:
加密结果 = (整数*10+5)/2 + 3.14159,加密结果仍为一整数

import java.sql.SQLOutput;
import java.util.Scanner;
/*
* 任务一:实现一个数字加密器,加密规则是:
加密结果 = (整数*10+5)/2 + 3.14159,加密结果仍为一整数
* */
public class Practice4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Please input a number: ");
        int i = sc.nextInt();
        double m;

        m = (double)(i*10+5)/2 +3.14159;
        System.out.println("加密后的数字:"+m);
    }
}

7.2 去年Apple笔记本所占市场份额是20,今年增长的市场份额是9.8,
求今年所占份额?

public class Practice4 {
    public static void main(String[] args) {
       int old=20;
       double increase=9.8;
       double neww;
       neww=old+increase;
        System.out.println(neww);

    }
}

某班第一次Java考试平均分81.29,第二次比第一次多2分,
计算第二次考试平均分?

public class Practice4 {
    public static void main(String[] args) {
       double first=81.29;
       int increase = 2;
       double sencond=first+increase;
        System.out.println(sencond);


    }
}

7.3程序员的表白

char c1 = 73;
        char c2 = 76;
        char c3 = 111;
        char c4 = 118;
        char c5 = 101;
        char c6 = 89;
        char c7 = 111;
        char c8 = 117;
        System.out.print(c1);
        System.out.print(c2);
        System.out.print(c3);
        System.out.print(c4);
        System.out.print(c5);
        System.out.print(c6);
        System.out.print(c7);
        System.out.print(c8);
        System.out.println();

7.4将数据分页

//练习1
假设有个用户列表 用户总数是一个可变的值,用变量userCount表示
制作 分页功能 页码用变量pageNUm表示,每页条数用变量pageSize表示
写一个程序功能 实现能够通过传入不同的pageNum 显示相应的页面
1.计算有多少页.2.假设pageCount=2 pageSize=5

//练习2
//计算limitParam1,limitParam2的值,这题没有做

        int userCount, pageCount, pageSize;
        //userCount = Integer.valueOf(args[0]);//设想使用args传的(从数据库)
        userCount = 104;
        pageCount = 2;
        pageSize = 5;
        //mysql中limit应用
        int limitParam1 = 0, limitParam2 = 1;
//很重要的一个小点,程序的认为
        if (userCount % pageSize == 0) {
            pageCount = userCount / pageSize;
        } else {//覆盖了所有的情况,要么if要么就是else
            pageCount = userCount / pageSize + 1;
        }
        //limitParam2=pageNum;
        System.out.println(pageCount);
        System.out.println(limitParam1);
        System.out.println(limitParam2);
      

7.5自增

 	int a = 1;
    a = a++;// a是1.
    int b = a++;//b=1,a变成2
    //int d=++a * a++;得9
    int c = a + ++a * a++;//c=2+ 3*3=11;

    //a=4 b=1 c=11运算优先级:a=2,先++-》a=3,再*就是3*3
    System.out.println(String.format("a:%s,b:%s,c:%s", a, b, c));

梳理思路,搞清自增

  int aa = 3;
    System.out.println(++aa + aa++);//4+4=8
    System.out.println(aa++ + ++aa);//3+5=8
    System.out.println(aa + ++aa * aa++);//3+4*4

7.6 &与&&的差别

比较查看&与&&的区别:

  //报错:NullPointerException
  System.out.println(str.equals("我爱中国") && 10>=5);

    System.out.println(str !=null );//false 没有报错
    System.out.println(str.equals("我爱中国"));//报错
    System.out.println(str !=null & str.equals("我爱中国") );//equals判断方法
    断路与 &&& ,同理,断路或|||也是相同道理
    System.out.println(str != null && str.equals("我爱中国"));
    false 没报错原因:&&有断路的特性,因为前为false,所以后半句没再走
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值