Yes, but this will result in an implicit conversion and possible narrowing. A char is always at least 8-bits in length, but an int may be 4 bytes in length (the actual length is implementation-defined) thus assigning an integer value outwith the range of a char will result in narrowing. Similarly when assigning a float (typically 16-bits in length); the fractional component will be lost and the integer value may be narrowed.
An unsigned char is only guaranteed to hold values in the range 0 through 255 and a signed char is only guaranteed to hold values in the range -127 through +127. Any values outwith those integer ranges may result in narrowing. Most modern architectures support twos-complement notation thus the signed range becomes -128 through +127, however this cannot be guaranteed across all implementations. Also, a "plain" char may be signed or unsigned depending on the implementation but is a distinct type from an explicitly signed or unsigned char. A plain char is only guaranteed to hold positive integer values in the range 0 through 127 across all implementations.
The switch/case statement in the c language is defined by the language specification to use an int value, so you can not use a float value. You can, however, convert the float into an int and use it, so long as the resulting values and functionality meet your functional requirements.
Of course, you should have tested: float x= -1.0;
it is the same as an int, String, or any of the others:float myVar = 5.7f;If you try to assign a decimal number you must place an "f" at the end, otherwise Java will assume you are trying to assign a double.
Then data will be lost. Quite often, at least in Java, the compiler will protest at compile time, basically forcing you to rethink your strategy.
float pi = 3.142; // Note: pi is an irrational number, there is no "exact" value of pi
Float-type structure members take float values.
The switch/case statement in the c language is defined by the language specification to use an int value, so you can not use a float value. You can, however, convert the float into an int and use it, so long as the resulting values and functionality meet your functional requirements.
Why have you not try? Of course you can.
Of course, you should have tested: float x= -1.0;
it is the same as an int, String, or any of the others:float myVar = 5.7f;If you try to assign a decimal number you must place an "f" at the end, otherwise Java will assume you are trying to assign a double.
When assigning a literal value, such as 5.628, to a float variable, you can avoid the decimal truncation warning by either using the float form of the constant (float var = 5.628f), typecasting the assignment (float var = (float) 5.628), or by making the variable double (double var = 5.628).
Float
You could get thin, 'invisible' thread and tie it to your character
Then data will be lost. Quite often, at least in Java, the compiler will protest at compile time, basically forcing you to rethink your strategy.
To convert a float to a double in Java, you can simply assign the float value to a double variable. Java will automatically perform the conversion for you. Here's an example: java float floatValue 10.5f; double doubleValue floatValue; In this example, the float value 10.5f is assigned to the double variable doubleValue, which will now hold the converted double value.
float pi = 3.142; // Note: pi is an irrational number, there is no "exact" value of pi
float test(int, char);