Java面向过程(一)

一、变量

1.1 变量的声明与赋值
变量是内存中的一块存储空间,可以保持数据。
1.2 变量三要素
数据类型、变量名、数值

  1. 变量类型用来规范变量数据的种类
  2. 变量名用户来寻找空间地址
  3. 值应该和类型相吻合
    声明语法:
//数据类型 变量名
int age;
//数据类型 变量名 = 初始值
int age = 10;
//数据类型 变量名a,变量名b
int age,name 
//数据类型 变量a = 初始值 ,变量名b
int age = 10,height;

注意:变量的输出不加“ ”或则‘ ’,加了就代表是一个字符串或者字符
1.3 变量的作用域
1)全局变量:定义在类以内,方法以外,供多个方法使用,有默认值。
2)局部变量:定义在方法内,只能在该方法内使用,先声明后使用,使用前必须先复制,没有默认值。
3)如果全局变量与局部变量重名,遵循就近原则
4)相同的作用域不允许重复定义
1.4 变量的数据类型
java中分为基本数据类型引用数据类型

  1. 基本数据类型:byte、short、int、long、float、double、char、boolean
  2. 除开基本数据类型,都是引用数据类型。
  3. 引用 数据类型中的包装数据类型:Byte、Short、Integer、Long、Float、Double、Character、Boolean
    1.5 变量使用的细节
public class TestDataType{
   public static void main(String[] args){
   //byte:注意范围-128——127
   byte  num = 120;
   //short:基本不用
   short num1 = 11223;
   //int:通常用它
   int num2 = 19023;
   //long:int搞不定就用它
   long num3 = 9333333333333333333333333L
   //小数通常使用double,double 可加(可不加)d D,
   //float可加F f
   double d1 = 121.33
   float f1 = 123.33f; 
   //boolean存储真和假,只有true 和false两个值
   boolean isVip = true;
   boolean isNull = false;
   //1.1 char 字符[一个字符]
   char ch1 = 'A';
   //1.2 char 字符[Unicode编码]
   char ch2 = '\u91cd';
   //1.3 char 字符[转义字符]
   //  \q 表示unicode  \' 单引号   \\ 斜杠  \n 回车   \t 制表符 
   char ch3 = '\\'
   // 1.4 char 字符[ascll码]
   char ch4 = 97 //a
   //2.1定义一个字符串
   String name = "李四";
}
}
**1.6 String的初步使用**

```java
String name ="大哥好,qiuyan"

1.7 标识符
凡是自己取得名字都叫标识符,存在命名规范

  1. 有数字、字母、下划线、$ 组成
  2. 不能以数字开头
  3. 做到见名知义
  4. 建议使用驼峰命名法
    经验:类名首字母大写,变量名、方法名首字母小写,枚举、常量全大写

二、关键字

被java语法使用的单词,或者保留的单词都叫关键字,关键字不可以用来作为标识符。
在这里插入图片描述

三、常量

不可改变值的变量,现在的常量为字面量,比如:“hello” 、123、‘a’

  1. 浮点数字面量,默认类型为double
  2. 正数字面量,默认值为int

四、数据类型转换

通常数据类型转换有两种形式

  1. 自动类型提升
  2. 强制类型转换
    自动类型提升:安全的,自动转换
byte b= 12;
int n = b;
System.out.println(n);

强制类型提升:不安全,手动完成

int mm = 12;
byte bb = (byte) mm;
System.out.println(bb);

总结
byte > short > int > long > float > double

  1. 用箭头右边类型的变量保存左边类型的变量就是自动类型提升
  2. 用箭头左边类型的变量保存右边类型的变量就是强制类型转换

五、运算符

有了变量,可以存储数据,但是一格功能执行需对变量里的数据做运算,需要引入运算符,java中的运算符和其他几乎所有编程语言的运算一致。
1. 赋值运算符 =
把等号右边的值赋值给左边的变量
2. 算术运算符

’+‘ 加号
’-‘减号
’*‘乘号
’/‘除号
%模(取余)
’/‘号运算结果的精度取决于参与运算的最高精度。

3. 关系运算符,返回值为布尔类型(boolean)

'>(大于) >=(大于等于) <(小于) <=(小于等于) ==(等等于) !=(不等于)

int m =10,n =20;
System.out.println( m>n );
System.out.println( m>=n );		
System.out.println( m<n );
System.out.println( m<=n );
System.out.println( m==n );
System.out.println( m!=n );

4. 逻辑运算符
&& 与 || 或 !非

int age =19;
int money = 10;
System.out.println(  age>20 && money>5           );  //false

System.out.println(  age>20 || money>5           );  //true

System.out.println(  !(age>20)         );  //true

&& : 同真则真,一假则假。

|| : 一真则真,同假则假。
!: 真假互换。
短路问题: 如果可以提前判断最后的结果,则放弃后续条件执行,这种现象为短路。
& |
运算法则和&& || 一致区别在于 非短路。

5. 复合赋值运算符
算术运算符和赋值运算符的综合写法,简化运算有要赋值,或者说是在现有变量基础做运算。

+= -= *= /= %=

int nb = 110;
System.out.println( nb+=20  ); // nb = nb+20;
System.out.println( nb-=40  ); // nb= nb-20;
System.out.println( nb/=2  );  // nb=nb/2;
System.out.println( nb*=2  );  // nb =nb*2;
System.out.println( nb%=10  ); // nb = nb%10;

6.自增自减

++ –

++ --对于操作数来说,要加1 要么减1 ,对于表达式来说,前后有影响, 在前有立即计算性,在后有延时计算性。

int c=5; int d=10;
int f = (++c) - d;
System.out.println(f);// -4


int c=5; int d=10;
int f = (c++) - d;
System.out.println(f);// -5	

7. 三目运算符
具有判断能力

表达式?A:B
如果表达式成立返回A,不成立返回B

int level =3;  // 3等级  A B C
String cc=  level==1?"等级A": level==2?"等级B":"等级C" ;
System.out.println(cc); // 等级C

8.位运算符

按位与按位或按位异或按位取反左移右移无符号右移
&|^-<<>>>>>
同一则一有1则1不为1相同为00、1互换向左移动向右移动向右移动不保留负数
byte a = 6; // 00110
byte b = 2; // 00010
--------------------------
               00010     2
               
byte a = 6; // 00110
byte b = 2; // 00010
--------------------------
               00110     6
                              
byte a = 6; // 00000110
               00000011    除以2
               
byte a = 6; // 00000110
               00001100    乘以2 

9. 控制台录入

  1. 导入包 import java.util.Scanner;
  2. 创建对象 Scanner SC = new Scanner(System.in);
  3. 对象调方法 int num= sc.nextInt()
// 导入某个包下的代码(类)
import java.util.Scanner;
//测试录入操作
public class UseSCanner{
	public static void main(String[] agrs){

	        // 需要实现输入,很定有对象搞定,new 一个。 
			Scanner sc = new Scanner( System.in );
			// 对象可以执行功能(方法), 对象调用输入相关方法会造成线程的阻塞。
			
	        System.out.println("输入一个整数a");
            int a = sc.nextInt();
			System.out.println("输入一个整数b");
			int b = sc.nextInt();
			
			System.out.println("输入一个小数");
			double c = sc.nextDouble();
			
			System.out.println("输入一个字符串");
			String d = sc.next(); 
			System.out.println(  (a+b+c)+d );
	}
}

2.0

package com.qf;

import java.text.DecimalFormat;
import java.util.Scanner;

public class test {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        DecimalFormat df = new DecimalFormat("#.00");
        System.out.print("请输入您的身高:");
        double height = sc.nextDouble();
        System.out.println();
        System.out.print("请输入您的体重:");
        double weight = sc.nextDouble();
        double result = weight / (height*height);
        String re =  result <= 9.4 ? "偏瘦" :
                result >= 18.5 && result <= 23.9 ? "正常" : result >= 24.0 && result <= 27.9 ? "过重" : result >= 28.0 ? "肥胖" : "";
        System.out.println("您的BMI值为:" + df.format(result)  +","+re);

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值