Java基础

Java基础

java注释
// 单行注释   只注意当前这一行内容

/* 多行注释 */   注释框起来的所有内容

/**文档注释*/   注释的内容,在需要时可以导出作为手册
/*
  public static void main(String[] args)
  固定写法,表示为Java程序执行的入口(main方法)
  
  System.out.println()
  系统输出打印括号中的字符串  
  
  println 表示为打印并换行  ln(line)==\n 表示换行    print打印不换行
  
  注意:  Java中严格区分大小写   
		Java中严格区分中英文标点符号
		Java中每一句代码的结束需要使用分号
		Java编程过程中括号都要成对的出现
		Java程序编写时,子结构需要缩进,要有层次感
*/
public class Hello{
	public static void main(String[] args){
		System.out.println("Hello World 我来了....");
	}	
}
Java中的变量

​ 变量:就是一个可变的量,在Java编写代码后,运行时该变量会向内存要一块空间,用来存储一定范围的数据,该数据可以在规定范围内发生变化

注意变量的定义: 在方法中定义变量,不赋值不能使用

​ 同一个结构中不得重复定义变量

​ 变量只有在{}中定义才生效

变量的格式:  数据类型  变量名称 = 值;
Java的数据类型

​ 生活中常见:字符串,数字,布尔值,Date

​ Java中数据类型分为两大类型: 基本数据类型,引用数据类型

基本数据类型

数据类型关键字内存占用取值范围
字节型byte1个字节(8位)-128-127
短整型short2个字节-32768-32767
整型int(默认,常见)4字节-214748万
长整型long8字节-2的63次方-2的63次方-1
单精度小数float(没有使用)4字节
双精度小数double(默认,常见)8字节
字符型char2字节0-65535
布尔型boolean1字节true,false

字符型 : 用单引号引起来的一个字符,这就是字符型

字符串型: 用双引号引起来的,一个或一个以上的字符,叫做字符串类型

注意: long类型虽然定义的类型为长整型,但是数据赋值时默认是整数类型(int),想要使用long类型,需要在数据后面加上l或L

​ float类型定义为单精度小数,但是使用小数数据时,默认类型时double,想要使用float类型,数据后需要加上f

引用数据类型: 包括: 类(String),数组,接口
内存示意图

标识符:

​ 标识符:在程序中,我们自己定义的名称叫做标识符. 如: 项目名,包名,类名,方法名,变量名(属性名)

命名规则

​ 标识符只能以字母,_ 和 $开头

​ 标识符中可以包含数字

​ 标识符不得使用Java关键字和Java的保留关键字

​ 关键字: 在Java中已经被赋予了特殊意义的字符.

​ 保留关键字: Java现在未使用,但保留起来,将来可能被使用的字符(单词),这就是保留关键字

命名规范

​ 命名规范:要求编写程序,命名时需要见名知意,一般采用驼峰命名法

​ 类名规范: 每个名称的首字母大写,多个单词组成的,每个单词首字母大写

​ 方法名和变量名: 首字母小写,多个单词组成,第二个单词及以后首字母大写

​ 包名: 全小写

​ 常量名: 全大写 每个单词之间使用 _ 连接

使用变量定义并输出人的信息

public class Person{
	public static void main(String[] args){
		String name = "zhangsan";
		char sex = '男';
		short age = 21;
		String job = "学生";
		double height = 1.75;
		double weight = 75;
		String phone = "12345678900";
		String address = "河南省郑州市";
		//变量名就代表变量的内容
		//变量输出时,如果与字符串相连接需要使用+连接
		System.out.println("姓名为:"+name+", 性别为:"+sex+", 年龄:"+age+" ,身高:"+height+"m, 职业:"+job+" ,手机号码:"+phone+", 籍贯:"+address);
	}
}
数据类型的转换

​ 数据类型的转型分为两种: 自动类型转换 和 强制类型转换

​ 自动类型转换: 数据可以兼容的情况下,小的数据类型,向大的数据类型自动转换

public class VariableDemo {
	//Eclipse编程过程中,工具会自动编译Java文件为class文件,但是必须保存Java文件才会自动编译
	public static void main(String[] args) {
		byte num1 = 125;
		short num2 = 50;
		int num3 = 100;
		long lon = 1314555L;
		float f = 1.35f;
		double dou = 1.349;
		char ch = '男';
		//自动类型转换: 在数据可兼容的情况下,小的数据类型向大的数据类型自动转换
		//byte与short类型一旦参加运算后,默认为int类型
		int result1 = num1 + num2;
		int charnum = ch; //字符类型可以自动转换为int类型,是通过ASCII码对应的十进制编号转换的
		System.out.println("byte与short类型相加得到int类型:"+result1);
		System.out.println("a对应的十进制编号为:"+charnum);
	}
}

byte < short,char < int < long < float < double 转换范围从小到大

强制类型转换: 数据可兼容, 大范围的数据类型,向小范围的数据类型转换,但是在转换过程中可能损失精度,必须主动提供一个需要转换的目标类型 (类型)大范围数据

public class VariableDemo {

	public static void main(String[] args) {
		byte num1 = 125;
		short num2 = 50;
		int num3 = 100;
		long lon = 131455536351814518L;
		float f = 1.35f;
		double dou = 1.349;

		int result2 = (int) (num3 + dou);  //对于运算结果的转换,一定是整个运算结果的转换
		//强制类型转换:需要为其提供一个需要转换的目标类型
		int num4 = (int)lon;

		System.out.println("整数加上小数:"+result2);
		System.out.println("长整型转换为int类型的数字:"+num4);
	}
}
运算符

​ 运算符是一种特殊的符号,用以表示数据的运算,复制或比较

​ 运算符分为: 算术运算符 赋值运算符 比较运算符 逻辑运算符 三元运算符

算术运算符: + - * / %取余 ++ –

​ ++ 表示为自身加1,每次使用都会加1

++在前先自增后取值a=2;++a(这时候的值为3); 最后a的取值为3
++在后先取值再自增a=2; a++(这时候的值为2); 最后a的取值为3
–在前先自减后取值
–在后先取值再自减
public class ArithmeticOperator {

	public static void main(String[] args) {
		int a=2,b=2; //定义两个变量,两个变量的类型都为int
		System.out.println("++在前的值为:"+(++a));
		System.out.println("++在后的值为:"+(b++));
		//最终的结果是一样的
		System.out.println("最终的结果为:"+a+"   "+b);
        
		String str = "Hello";
		//代码是从上到下,从左到右执行  1.执行str+a得到字符串  2.字符串+b
		System.out.println("str+a+b的结果为:"+(str+a+b));   //Hello33
		System.out.println("a+str+b的结果为:"+(a+str+b));	  //3Hello3
		System.out.println("a+b+str的结果为:"+(a+b+str));	  //6Hello
	}
}

“+” 符号: 该符号在数字与数字相加时,实现的是相加的运算
该符号与任何字符串相加时,实现的是两个内容的拼接

赋值运算符: = += -= *= /= %=

​ += 表示为当前变量加上右边的值,重新赋值给当前变量 如: int a= 2; a = a+2;或a += 2;

import java.util.Scanner;

public class AssignmentOperators {

	public static void main(String[] args) {
		//扫描器,扫描控制台输入的内容
		// Scanner是扫描器类   定义了一个名字叫in  并创建出新的扫描器, System.in 控制台输入
		Scanner in = new Scanner(System.in);
		//在输入之前需要提示输入
		System.out.println("请输入员工的名称:");
		//获取到扫描器中扫描到的数据  通过扫描器的  nextXXX()方法获取到指定类型的数据 XXX为类型  next()默认获取字符串
		String name = in.next();
		System.out.println("请输入"+name+"的工资:");
		int sal = in.nextInt();  //从扫描器中读取到一个int类型的数据
		System.out.println("员工非常辛苦,加薪500元");
		sal += 500;  //工资加了500并重新赋值给sal
		System.out.println("员工"+name+"现在的工资为:"+sal);
		//关闭资源
		in.close();
	}
}

比较运算符 : == > < >= <= != equals比较两个字符串是否相等

​ 用于比较两者之间的关系为true或false

public class ComparisonOperator {

	public static void main(String[] args) {
		int a=5,b=5,c=10;
		String str="Hello";
		Scanner in = new Scanner(System.in);
		System.out.println("a是否大于b:"+(a>b));
		System.out.println("a是否大于等于b:"+(a>=b));
		System.out.println("a是否小于b:"+(a<b));
		System.out.println("c是否小于等于b"+(c<=b));
		System.out.println("请输入字符:");
		String str1 = in.next();
		System.out.println("您输入的字符与Hello相等:"+str.equals(str1));
		System.out.println("您输入的字符与Hello相等:"+(str==str1));  //如果比较的是引用数据类型,那么比较的是对象地址
		in.close();
	}
}

逻辑运算符 : &&与 ||或 !非 &与 |或

​ 用于连接两个表达式进行比较,得到最终结果

​ & :表示两边需要同时满足

​ | : 满足其一就为true

​ !: 取反

注意: 一个& 和 两个 && 的区别:

​ &&: 有短路的效果,当左边的条件为false的时候,直接为false,不想要判断第二个条件

​ &: 当左边条件为false的时候,依然要判断第二个条件,最终结果不变

​ 一个 | 和 两个 || 的区别:

​ ||: 有短路的效果,当左边条件为true时,直接为true,不需要判断第二个条件

​ |: 左边条件为true的时候,依然要判断第二个条件,最终结果不变

public class LogicalOperator {

	public static void main(String[] args) {
		//逻辑运算符
		int a=5,b=5,c=10;
		String str="Hello";
		Scanner in = new Scanner(System.in);
		System.out.println("a大于b并且a小于c:"+(a>b&&a<c));
		System.out.println("a大于等于b并且a小于c:"+(a>=b&&a<c));
		System.out.println("a小于b或者a小于c:"+(a<b||a<c));
		System.out.println("c小于等于b或c大于等于a:"+(c<=b||c>=a));
		System.out.println("请输入字符:");
		String str1 = in.next();
		System.out.println("您输入的字符与Hello相等:"+str.equals(str1));
		System.out.println("您输入的字符与Hello地址不相等:"+(str!=str1));  //如果比较的是引用数据类型,那么比较的是对象地址
		
//		System.out.println(++a<5 && b++>5);
//		System.out.println("a的结果为:"+a+", b的结果为:"+b);
		System.out.println(++a<5 & ++b>5);
		System.out.println("a的结果为:"+a+", b的结果为:"+b);
		in.close();
	}
}

三元运算符

​ 是一种简单判断结构的运算符,并最终返回一个指定类型的数据

格式:  数据类型 变量名 =  条件表达式 ? true执行结果 : false执行结果;
	条件表达式: 会得到true和false的结果
	true的结果: 当条件表达式为true的时候执行,其中可以是一个表达式
	false的结果: 当条件表达式为false的时候执行,其中可以是一个表达式
注意:两个结果返回的数据类型要保持一致
public class SanYuanOperator {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入桑榆的成绩:");
		int score = in.nextInt();
		String str = score>=90 ? "成绩优秀,奖励游戏机一台" : "成绩不太行,奖励英语书一本,学英语";
		System.out.println("桑榆的奖励:"+str);
	}
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢木木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值